diff options
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 6bfa78c66c25..1b09f1cae46e 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -1282,15 +1282,13 @@ int __skb_linearize(struct sk_buff *skb, gfp_t gfp_mask) | |||
1282 | 1282 | ||
1283 | #define HARD_TX_LOCK(dev, cpu) { \ | 1283 | #define HARD_TX_LOCK(dev, cpu) { \ |
1284 | if ((dev->features & NETIF_F_LLTX) == 0) { \ | 1284 | if ((dev->features & NETIF_F_LLTX) == 0) { \ |
1285 | spin_lock(&dev->xmit_lock); \ | 1285 | netif_tx_lock(dev); \ |
1286 | dev->xmit_lock_owner = cpu; \ | ||
1287 | } \ | 1286 | } \ |
1288 | } | 1287 | } |
1289 | 1288 | ||
1290 | #define HARD_TX_UNLOCK(dev) { \ | 1289 | #define HARD_TX_UNLOCK(dev) { \ |
1291 | if ((dev->features & NETIF_F_LLTX) == 0) { \ | 1290 | if ((dev->features & NETIF_F_LLTX) == 0) { \ |
1292 | dev->xmit_lock_owner = -1; \ | 1291 | netif_tx_unlock(dev); \ |
1293 | spin_unlock(&dev->xmit_lock); \ | ||
1294 | } \ | 1292 | } \ |
1295 | } | 1293 | } |
1296 | 1294 | ||
@@ -1389,8 +1387,8 @@ int dev_queue_xmit(struct sk_buff *skb) | |||
1389 | /* The device has no queue. Common case for software devices: | 1387 | /* The device has no queue. Common case for software devices: |
1390 | loopback, all the sorts of tunnels... | 1388 | loopback, all the sorts of tunnels... |
1391 | 1389 | ||
1392 | Really, it is unlikely that xmit_lock protection is necessary here. | 1390 | Really, it is unlikely that netif_tx_lock protection is necessary |
1393 | (f.e. loopback and IP tunnels are clean ignoring statistics | 1391 | here. (f.e. loopback and IP tunnels are clean ignoring statistics |
1394 | counters.) | 1392 | counters.) |
1395 | However, it is possible, that they rely on protection | 1393 | However, it is possible, that they rely on protection |
1396 | made by us here. | 1394 | made by us here. |
@@ -2805,7 +2803,7 @@ int register_netdevice(struct net_device *dev) | |||
2805 | BUG_ON(dev->reg_state != NETREG_UNINITIALIZED); | 2803 | BUG_ON(dev->reg_state != NETREG_UNINITIALIZED); |
2806 | 2804 | ||
2807 | spin_lock_init(&dev->queue_lock); | 2805 | spin_lock_init(&dev->queue_lock); |
2808 | spin_lock_init(&dev->xmit_lock); | 2806 | spin_lock_init(&dev->_xmit_lock); |
2809 | dev->xmit_lock_owner = -1; | 2807 | dev->xmit_lock_owner = -1; |
2810 | #ifdef CONFIG_NET_CLS_ACT | 2808 | #ifdef CONFIG_NET_CLS_ACT |
2811 | spin_lock_init(&dev->ingress_lock); | 2809 | spin_lock_init(&dev->ingress_lock); |