summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@intel.com>2014-06-03 23:50:19 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-06-19 20:22:05 -0700
commite57a2fea8787dffcbdff3f7f0567a1e8555dd93a (patch)
tree9eabb22246207b5c66813a330a05fa84e6d49107
parente91fdf7666fa4c6a5111f8b20304a990bc77e89e (diff)
downloadop-kernel-dev-e57a2fea8787dffcbdff3f7f0567a1e8555dd93a.zip
op-kernel-dev-e57a2fea8787dffcbdff3f7f0567a1e8555dd93a.tar.gz
i40e: keep service tasks out of reset process
Make sure the service tasks don't try to meddle with the device while a reset is in progress. Odd things can happen such as funky stats values. Change-ID: I6929cb9d6d96839c9279362ca7c0e3fe6c8fcc66 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 394253e..ebbf37b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5961,6 +5961,12 @@ static void i40e_service_task(struct work_struct *work)
service_task);
unsigned long start_time = jiffies;
+ /* don't bother with service tasks if a reset is in progress */
+ if (test_bit(__I40E_RESET_RECOVERY_PENDING, &pf->state)) {
+ i40e_service_event_complete(pf);
+ return;
+ }
+
i40e_reset_subtask(pf);
i40e_handle_mdd_event(pf);
i40e_vc_process_vflr_event(pf);
OpenPOWER on IntegriCloud