aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40e/i40e_main.c
diff options
context:
space:
mode:
authorPandi Kumar Maharajan <pandi.maharajan@intel.com>2016-02-18 09:19:25 -0800
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2016-02-19 00:05:43 -0800
commita4618ec88de95a86f290d01c74c506552f1a5d95 (patch)
tree9ef848f91d5f402afca2988fd02105366f36d559 /drivers/net/ethernet/intel/i40e/i40e_main.c
parenti40e: Use the new rx ctl register helpers. Don't use AQ calls from clear_hw. (diff)
downloadlinux-dev-a4618ec88de95a86f290d01c74c506552f1a5d95.tar.xz
linux-dev-a4618ec88de95a86f290d01c74c506552f1a5d95.zip
i40e: suspend scheduling during driver unload
We need to suspend scheduling or any pending service task during driver unload process, so that new task will not be scheduled. This patch sets the suspend flag bit during reload which avoids service task execution. Change-ID: I017c57b5d6656564556e3c5387da671369a572ac Signed-off-by: Pandi Kumar Maharajan <pandi.maharajan@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 87325dbea42c..9076b2975554 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -11215,6 +11215,7 @@ static void i40e_remove(struct pci_dev *pdev)
i40e_write_rx_ctl(hw, I40E_PFQF_HENA(1), 0);
/* no more scheduling of any task */
+ set_bit(__I40E_SUSPENDED, &pf->state);
set_bit(__I40E_DOWN, &pf->state);
del_timer_sync(&pf->service_timer);
cancel_work_sync(&pf->service_task);