]> Pileus Git - ~andy/linux/blobdiff - net/l2tp/l2tp_eth.c
Merge tag 'pinctrl-for-v3.7-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / net / l2tp / l2tp_eth.c
index 3bfb34aaee293cb697f36ae88a060f3329571214..76125c57ee6dddd2396a8a0bef4f19e7720e43ed 100644 (file)
@@ -67,6 +67,7 @@ static inline struct l2tp_eth_net *l2tp_eth_pernet(struct net *net)
        return net_generic(net, l2tp_eth_net_id);
 }
 
+static struct lock_class_key l2tp_eth_tx_busylock;
 static int l2tp_eth_dev_init(struct net_device *dev)
 {
        struct l2tp_eth *priv = netdev_priv(dev);
@@ -74,7 +75,7 @@ static int l2tp_eth_dev_init(struct net_device *dev)
        priv->dev = dev;
        eth_hw_addr_random(dev);
        memset(&dev->broadcast[0], 0xff, 6);
-
+       dev->qdisc_tx_busylock = &l2tp_eth_tx_busylock;
        return 0;
 }
 
@@ -290,6 +291,7 @@ static int l2tp_eth_create(struct net *net, u32 tunnel_id, u32 session_id, u32 p
 
 out_del_dev:
        free_netdev(dev);
+       spriv->dev = NULL;
 out_del_session:
        l2tp_session_delete(session);
 out: