diff options
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index baf2dc13a34a..70c27e0c7c32 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -2310,8 +2310,6 @@ ncls: | |||
| 2310 | if (!skb) | 2310 | if (!skb) |
| 2311 | goto out; | 2311 | goto out; |
| 2312 | 2312 | ||
| 2313 | skb_orphan(skb); | ||
| 2314 | |||
| 2315 | type = skb->protocol; | 2313 | type = skb->protocol; |
| 2316 | list_for_each_entry_rcu(ptype, | 2314 | list_for_each_entry_rcu(ptype, |
| 2317 | &ptype_base[ntohs(type) & PTYPE_HASH_MASK], list) { | 2315 | &ptype_base[ntohs(type) & PTYPE_HASH_MASK], list) { |
| @@ -2825,9 +2823,11 @@ static void net_rx_action(struct softirq_action *h) | |||
| 2825 | * move the instance around on the list at-will. | 2823 | * move the instance around on the list at-will. |
| 2826 | */ | 2824 | */ |
| 2827 | if (unlikely(work == weight)) { | 2825 | if (unlikely(work == weight)) { |
| 2828 | if (unlikely(napi_disable_pending(n))) | 2826 | if (unlikely(napi_disable_pending(n))) { |
| 2829 | __napi_complete(n); | 2827 | local_irq_enable(); |
| 2830 | else | 2828 | napi_complete(n); |
| 2829 | local_irq_disable(); | ||
| 2830 | } else | ||
| 2831 | list_move_tail(&n->poll_list, list); | 2831 | list_move_tail(&n->poll_list, list); |
| 2832 | } | 2832 | } |
| 2833 | 2833 | ||
