aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel
diff options
context:
space:
mode:
authorMitch Williams <mitch.a.williams@intel.com>2015-01-09 06:18:19 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-02-09 02:33:18 -0500
commit88086e5d0adf27cf819e11a0a3159d8ef09773a6 (patch)
treee43cfcf92466c61463e501a599d9b4c9fa931a86 /drivers/net/ethernet/intel
parent00293fdc4229e493556f8cca403305f3c2124743 (diff)
i40e: stop the service task at shutdown
Stop the service task in the shutdown handler, preventing it from accessing the admin queue after it had been closed. This fixes a panic that could occur when the system was shut down with a lot of VFs enabled. Change-ID: I286735e3842de472385bbf7ad68d30331e508add 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/i40e/i40e_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 9efb69ab2ab0..1923a0bcd6e6 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -9736,6 +9736,8 @@ static int i40e_suspend(struct pci_dev *pdev, pm_message_t state)
9736 9736
9737 set_bit(__I40E_SUSPENDED, &pf->state); 9737 set_bit(__I40E_SUSPENDED, &pf->state);
9738 set_bit(__I40E_DOWN, &pf->state); 9738 set_bit(__I40E_DOWN, &pf->state);
9739 del_timer_sync(&pf->service_timer);
9740 cancel_work_sync(&pf->service_task);
9739 rtnl_lock(); 9741 rtnl_lock();
9740 i40e_prep_for_reset(pf); 9742 i40e_prep_for_reset(pf);
9741 rtnl_unlock(); 9743 rtnl_unlock();