smsc911x: Fix Console Hang when bringing the interface down.
authorSriram <srk@ti.com>
Thu, 12 Nov 2009 02:14:38 +0000 (02:14 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Nov 2009 06:17:41 +0000 (22:17 -0800)
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>
drivers/net/smsc911x.c

index ccdd196f5297952f993291819e1d65b5526402b0..f9cdcbcb77d4989efe930f1014a9c32128081216 100644 (file)
@@ -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;