From d95d30e020b72f0f96af53fc166b886eedac44b6 Mon Sep 17 00:00:00 2001 From: Pandi Kumar Maharajan Date: Thu, 18 Feb 2016 09:19:25 -0800 Subject: [PATCH] i40e: suspend scheduling during driver unload Orabug: 22342532 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 Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher (cherry picked from commit a4618ec88de95a86f290d01c74c506552f1a5d95) Signed-off-by: Brian Maly --- drivers/net/ethernet/intel/i40e/i40e_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 64d81d965872..6c2b565e9de7 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -11075,6 +11075,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); -- 2.50.1