ixgbe: fix race condition with shutdown
It was possible for shutdown to pull the rug out from other driver entry points. Now we just grab the rtnl lock before taking everything apart. Thanks to Hariharan for noticing this tight race condition. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Cc: Hariharan Nagarajan <hanagara@cisco.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
5a8887d39e
commit
ab6039a70b
|
@ -4866,10 +4866,12 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
|
|||
netif_device_detach(netdev);
|
||||
|
||||
if (netif_running(netdev)) {
|
||||
rtnl_lock();
|
||||
ixgbe_down(adapter);
|
||||
ixgbe_free_irq(adapter);
|
||||
ixgbe_free_all_tx_resources(adapter);
|
||||
ixgbe_free_all_rx_resources(adapter);
|
||||
rtnl_unlock();
|
||||
}
|
||||
|
||||
ixgbe_clear_interrupt_scheme(adapter);
|
||||
|
|
Loading…
Reference in New Issue