diff options
author | Shannon Nelson <shannon.nelson@intel.com> | 2014-06-03 23:50:19 +0000 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2014-06-19 20:22:05 -0700 |
commit | e57a2fea8787dffcbdff3f7f0567a1e8555dd93a (patch) | |
tree | 9eabb22246207b5c66813a330a05fa84e6d49107 | |
parent | e91fdf7666fa4c6a5111f8b20304a990bc77e89e (diff) | |
download | op-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.c | 6 |
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); |