summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSriram <srk@ti.com>2009-11-12 03:14:38 +0100
committerDavid S. Miller <davem@davemloft.net>2009-11-16 07:17:41 +0100
commitf88c5b9887a95ce424db629ee79b57f6ef5bfddd (patch)
tree86841af447b91d80fe8fbd7da5b0fc0e9843e356 /drivers
parentmISDN: fix error return in HFCmulti_init() (diff)
downloadlinux-f88c5b9887a95ce424db629ee79b57f6ef5bfddd.tar.xz
linux-f88c5b9887a95ce424db629ee79b57f6ef5bfddd.zip
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>
Diffstat (limited to 'drivers')
-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 ccdd196f5297..f9cdcbcb77d4 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;