be2net: cancel be_worker in be_shutdown() even when i/f is down
authorSathya Perla <sathya.perla@emulex.com>
Mon, 21 Mar 2011 20:49:28 +0000 (20:49 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 31 Mar 2011 04:39:21 +0000 (21:39 -0700)
As the be_worker() workqueue is scheduled in be_probe() it must
be canceled unconditionally in be_shutdown().

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/benet/be_main.c

index 3bf79d148c245781e389a67b2832bc8ec0f358f5..86389133dd3caeee31570838684d429bfcfcf78d 100644 (file)
@@ -3155,8 +3155,7 @@ static void be_shutdown(struct pci_dev *pdev)
        struct be_adapter *adapter = pci_get_drvdata(pdev);
        struct net_device *netdev =  adapter->netdev;
 
-       if (netif_running(netdev))
-               cancel_delayed_work_sync(&adapter->work);
+       cancel_delayed_work_sync(&adapter->work);
 
        netif_device_detach(netdev);