diff options
author | David S. Miller <davem@davemloft.net> | 2009-04-16 20:35:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-16 20:35:26 -0400 |
commit | a54bfa40fd16aeb90bc556189221576f746f8567 (patch) | |
tree | 176bb7a99ffab5f42f0dd4e9671f335be3f3efa0 /net/core | |
parent | fe957c40ec5e2763b9977c565beab3bde3aaf85b (diff) | |
parent | 134ffb4cad92a6aa534e55a9be145bca780a32c1 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 619fa141b8f5..cfc614ec3719 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -1430,7 +1430,7 @@ void netif_device_detach(struct net_device *dev) | |||
1430 | { | 1430 | { |
1431 | if (test_and_clear_bit(__LINK_STATE_PRESENT, &dev->state) && | 1431 | if (test_and_clear_bit(__LINK_STATE_PRESENT, &dev->state) && |
1432 | netif_running(dev)) { | 1432 | netif_running(dev)) { |
1433 | netif_stop_queue(dev); | 1433 | netif_tx_stop_all_queues(dev); |
1434 | } | 1434 | } |
1435 | } | 1435 | } |
1436 | EXPORT_SYMBOL(netif_device_detach); | 1436 | EXPORT_SYMBOL(netif_device_detach); |
@@ -1445,7 +1445,7 @@ void netif_device_attach(struct net_device *dev) | |||
1445 | { | 1445 | { |
1446 | if (!test_and_set_bit(__LINK_STATE_PRESENT, &dev->state) && | 1446 | if (!test_and_set_bit(__LINK_STATE_PRESENT, &dev->state) && |
1447 | netif_running(dev)) { | 1447 | netif_running(dev)) { |
1448 | netif_wake_queue(dev); | 1448 | netif_tx_wake_all_queues(dev); |
1449 | __netdev_watchdog_up(dev); | 1449 | __netdev_watchdog_up(dev); |
1450 | } | 1450 | } |
1451 | } | 1451 | } |
@@ -2328,8 +2328,10 @@ static int napi_gro_complete(struct sk_buff *skb) | |||
2328 | struct list_head *head = &ptype_base[ntohs(type) & PTYPE_HASH_MASK]; | 2328 | struct list_head *head = &ptype_base[ntohs(type) & PTYPE_HASH_MASK]; |
2329 | int err = -ENOENT; | 2329 | int err = -ENOENT; |
2330 | 2330 | ||
2331 | if (NAPI_GRO_CB(skb)->count == 1) | 2331 | if (NAPI_GRO_CB(skb)->count == 1) { |
2332 | skb_shinfo(skb)->gso_size = 0; | ||
2332 | goto out; | 2333 | goto out; |
2334 | } | ||
2333 | 2335 | ||
2334 | rcu_read_lock(); | 2336 | rcu_read_lock(); |
2335 | list_for_each_entry_rcu(ptype, head, list) { | 2337 | list_for_each_entry_rcu(ptype, head, list) { |
@@ -2348,7 +2350,6 @@ static int napi_gro_complete(struct sk_buff *skb) | |||
2348 | } | 2350 | } |
2349 | 2351 | ||
2350 | out: | 2352 | out: |
2351 | skb_shinfo(skb)->gso_size = 0; | ||
2352 | return netif_receive_skb(skb); | 2353 | return netif_receive_skb(skb); |
2353 | } | 2354 | } |
2354 | 2355 | ||