diff options
author | Pandi Kumar Maharajan <pandi.maharajan@intel.com> | 2016-02-18 09:19:25 -0800 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2016-02-19 00:05:43 -0800 |
commit | a4618ec88de95a86f290d01c74c506552f1a5d95 (patch) | |
tree | 9ef848f91d5f402afca2988fd02105366f36d559 | |
parent | 272cdaf2472ab7713deebe060bb90319b0382a94 (diff) | |
download | op-kernel-dev-a4618ec88de95a86f290d01c74c506552f1a5d95.zip op-kernel-dev-a4618ec88de95a86f290d01c74c506552f1a5d95.tar.gz |
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>
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 1 |
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 87325db..9076b29 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); |