diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2015-01-09 06:18:18 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-02-09 00:08:42 -0500 |
commit | 00293fdc4229e493556f8cca403305f3c2124743 (patch) | |
tree | 006bf4e15c1c4fba16fac24378f29d47a1e6cea1 /drivers/net/ethernet/intel | |
parent | 8b011ebb5c371f8767e6e813a1aca3b7fc795f94 (diff) |
i40evf: stop the watchdog for shutdown
Stop the watchdog during shutdown. Failing to do this causes a log full
of admin queue errors and the occasional hang when the system is shut
down.
Change-ID: Ib2fd11213cca2fa589eb68577e86b1000c23c250
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel')
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index 38126f5d6fd9..8d8c201c63c1 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c | |||
@@ -2213,12 +2213,18 @@ err: | |||
2213 | static void i40evf_shutdown(struct pci_dev *pdev) | 2213 | static void i40evf_shutdown(struct pci_dev *pdev) |
2214 | { | 2214 | { |
2215 | struct net_device *netdev = pci_get_drvdata(pdev); | 2215 | struct net_device *netdev = pci_get_drvdata(pdev); |
2216 | struct i40evf_adapter *adapter = netdev_priv(netdev); | ||
2216 | 2217 | ||
2217 | netif_device_detach(netdev); | 2218 | netif_device_detach(netdev); |
2218 | 2219 | ||
2219 | if (netif_running(netdev)) | 2220 | if (netif_running(netdev)) |
2220 | i40evf_close(netdev); | 2221 | i40evf_close(netdev); |
2221 | 2222 | ||
2223 | /* Prevent the watchdog from running. */ | ||
2224 | adapter->state = __I40EVF_REMOVE; | ||
2225 | adapter->aq_required = 0; | ||
2226 | adapter->aq_pending = 0; | ||
2227 | |||
2222 | #ifdef CONFIG_PM | 2228 | #ifdef CONFIG_PM |
2223 | pci_save_state(pdev); | 2229 | pci_save_state(pdev); |
2224 | 2230 | ||