diff options
| -rw-r--r-- | net/core/dev.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index be9d3015beaa..0879f52115eb 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -2207,8 +2207,12 @@ static void net_rx_action(struct softirq_action *h) | |||
| 2207 | * still "owns" the NAPI instance and therefore can | 2207 | * still "owns" the NAPI instance and therefore can |
| 2208 | * move the instance around on the list at-will. | 2208 | * move the instance around on the list at-will. |
| 2209 | */ | 2209 | */ |
| 2210 | if (unlikely(work == weight)) | 2210 | if (unlikely(work == weight)) { |
| 2211 | list_move_tail(&n->poll_list, list); | 2211 | if (unlikely(napi_disable_pending(n))) |
| 2212 | __napi_complete(n); | ||
| 2213 | else | ||
| 2214 | list_move_tail(&n->poll_list, list); | ||
| 2215 | } | ||
| 2212 | 2216 | ||
| 2213 | netpoll_poll_unlock(have); | 2217 | netpoll_poll_unlock(have); |
| 2214 | } | 2218 | } |
