Lines Matching refs:lapbeth
53 struct net_device *axdev; /* lapbeth device (lapb#) */
67 struct lapbethdev *lapbeth;
69 list_for_each_entry_rcu(lapbeth, &lapbeth_devices, node, lockdep_rtnl_is_held()) {
70 if (lapbeth->ethdev == dev)
71 return lapbeth;
89 struct lapbethdev *lapbeth;
101 lapbeth = lapbeth_get_x25_dev(dev);
102 if (!lapbeth)
104 spin_lock_bh(&lapbeth->up_lock);
105 if (!lapbeth->up)
115 if ((err = lapb_data_received(lapbeth->axdev, skb)) != LAPB_OK) {
120 spin_unlock_bh(&lapbeth->up_lock);
157 struct lapbethdev *lapbeth = netdev_priv(dev);
160 spin_lock_bh(&lapbeth->up_lock);
161 if (!lapbeth->up)
192 spin_unlock_bh(&lapbeth->up_lock);
201 struct lapbethdev *lapbeth = netdev_priv(ndev);
214 skb->dev = dev = lapbeth->ethdev;
284 struct lapbethdev *lapbeth = netdev_priv(dev);
292 spin_lock_bh(&lapbeth->up_lock);
293 lapbeth->up = true;
294 spin_unlock_bh(&lapbeth->up_lock);
301 struct lapbethdev *lapbeth = netdev_priv(dev);
304 spin_lock_bh(&lapbeth->up_lock);
305 lapbeth->up = false;
306 spin_unlock_bh(&lapbeth->up_lock);
339 struct lapbethdev *lapbeth;
347 ndev = alloc_netdev(sizeof(*lapbeth), "lapb%d", NET_NAME_UNKNOWN,
362 lapbeth = netdev_priv(ndev);
363 lapbeth->axdev = ndev;
366 lapbeth->ethdev = dev;
368 lapbeth->up = false;
369 spin_lock_init(&lapbeth->up_lock);
375 list_add_rcu(&lapbeth->node, &lapbeth_devices);
388 static void lapbeth_free_device(struct lapbethdev *lapbeth)
390 dev_put(lapbeth->ethdev);
391 list_del_rcu(&lapbeth->node);
392 unregister_netdevice(lapbeth->axdev);
403 struct lapbethdev *lapbeth;
420 lapbeth = lapbeth_get_x25_dev(dev);
421 if (lapbeth)
422 dev_close(lapbeth->axdev);
426 lapbeth = lapbeth_get_x25_dev(dev);
427 if (lapbeth)
428 lapbeth_free_device(lapbeth);
463 struct lapbethdev *lapbeth;
471 lapbeth = list_entry(entry, struct lapbethdev, node);
473 dev_put(lapbeth->ethdev);
474 unregister_netdevice(lapbeth->axdev);