ixgb: fix unload race with timers
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Tue, 8 Jul 2008 22:51:47 +0000 (15:51 -0700)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 11 Jul 2008 05:20:28 +0000 (01:20 -0400)
ixgb needs to call flush scheduled work to flush any timers before
unregistering the netdev.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/ixgb/ixgb_main.c

index c3234c45104381fd23fc627ceb149253a24c22ce..79082eb577c6757b1cbbd2fff35018fc15b1adaa 100644 (file)
@@ -528,6 +528,8 @@ ixgb_remove(struct pci_dev *pdev)
        struct net_device *netdev = pci_get_drvdata(pdev);
        struct ixgb_adapter *adapter = netdev_priv(netdev);
 
+       flush_scheduled_work();
+
        unregister_netdev(netdev);
 
        iounmap(adapter->hw.hw_addr);