summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSriram <srk@ti.com>2009-11-12 02:14:38 +0000
committerDavid S. Miller <davem@davemloft.net>2009-11-15 22:17:41 -0800
commitf88c5b9887a95ce424db629ee79b57f6ef5bfddd (patch)
tree86841af447b91d80fe8fbd7da5b0fc0e9843e356
parent2c554e10e84e958366344aa5bd293c6feea72d89 (diff)
downloadop-kernel-dev-f88c5b9887a95ce424db629ee79b57f6ef5bfddd.zip
op-kernel-dev-f88c5b9887a95ce424db629ee79b57f6ef5bfddd.tar.gz
smsc911x: Fix Console Hang when bringing the interface down.
In the NAPI poll function, check for netif_running() is unnecassary. In addition to associated runtime overhead, it also results in continuous softirq loop when the interface is brought down under heavy traffic(tested with Traffic Generator).Once the interface is disabled, the poll function always returns zero(with the check for netif_running) and napi_complete() would never get called resulting in softirq loop. Signed-off-by: Sriramakrishnan <srk@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/smsc911x.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index ccdd196..f9cdcbc 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -986,7 +986,7 @@ static int smsc911x_poll(struct napi_struct *napi, int budget)
struct net_device *dev = pdata->dev;
int npackets = 0;
- while (likely(netif_running(dev)) && (npackets < budget)) {
+ while (npackets < budget) {
unsigned int pktlength;
unsigned int pktwords;
struct sk_buff *skb;
OpenPOWER on IntegriCloud