From: Auke Kok Date: Wed, 28 Nov 2007 00:26:36 +0000 (-0800) Subject: e1000: Fix NAPI state bug when Rx complete X-Git-Tag: v2.6.24-rc4~9^2~5 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=f7bbb9098315d712351aba7861a8c9fcf6bf0213;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index cf39473ef90..4f37506ad37 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))