summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
authorAuke Kok <auke-jan.h.kok@intel.com>2007-11-28 01:26:36 +0100
committerJeff Garzik <jeff@garzik.org>2007-12-01 22:32:32 +0100
commitf7bbb9098315d712351aba7861a8c9fcf6bf0213 (patch)
treeebe4936468e99b9f9124b5a8e6cfb461f59a576b /drivers/net/e1000
parentsky2: turn of dynamic Tx watermark workaround (FE+ only) (diff)
downloadlinux-f7bbb9098315d712351aba7861a8c9fcf6bf0213.tar.xz
linux-f7bbb9098315d712351aba7861a8c9fcf6bf0213.zip
e1000: Fix NAPI state bug when Rx complete
Don't exit polling when we have not yet used our budget, this causes the NAPI system to end up with a messed up poll list. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r--drivers/net/e1000/e1000_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index cf39473ef90a..4f37506ad374 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3942,7 +3942,7 @@ e1000_clean(struct napi_struct *napi, int budget)
&work_done, budget);
/* If no Tx and not enough Rx work done, exit the polling mode */
- if ((!tx_cleaned && (work_done < budget)) ||
+ if ((!tx_cleaned && (work_done == 0)) ||
!netif_running(poll_dev)) {
quit_polling:
if (likely(adapter->itr_setting & 3))