diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2015-01-09 06:18:19 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-02-09 02:33:18 -0500 |
commit | 88086e5d0adf27cf819e11a0a3159d8ef09773a6 (patch) | |
tree | e43cfcf92466c61463e501a599d9b4c9fa931a86 /drivers/net/ethernet/intel | |
parent | 00293fdc4229e493556f8cca403305f3c2124743 (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.c | 2 |
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(); |