be2net: Use cancel_delayed_work_sync instead of cancel_delayed_work()
authorSathya Perla <sathyap@serverengines.com>
Wed, 10 Jun 2009 02:18:35 +0000 (02:18 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Jun 2009 09:47:15 +0000 (02:47 -0700)
Use cancel_delayed_work_sycn instead of cancel_delayed_work() to reliably kill be_worker() as it rearms itself.

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

index 347d002fa4251e37b704eafee089768e484ea3c8..69046a109ac32135bc21da9eb529982351c11f29 100644 (file)
@@ -1533,7 +1533,7 @@ static int be_close(struct net_device *netdev)
        struct be_eq_obj *tx_eq = &adapter->tx_eq;
        int vec;
 
-       cancel_delayed_work(&adapter->work);
+       cancel_delayed_work_sync(&adapter->work);
 
        netif_stop_queue(netdev);
        netif_carrier_off(netdev);