summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel
diff options
context:
space:
mode:
authorAshish Shah <ashish.n.shah@intel.com>2014-08-01 22:27:12 +0200
committerDavid S. Miller <davem@davemloft.net>2014-08-03 04:41:14 +0200
commitd3e2edb70ecf877b4e5f42314449fc648b18627b (patch)
treee2fc43939614944bd1da0d41ee0ad65bfd15b9e0 /drivers/net/ethernet/intel
parenti40evf: future-proof vfr_stat state check (diff)
downloadlinux-d3e2edb70ecf877b4e5f42314449fc648b18627b.tar.xz
linux-d3e2edb70ecf877b4e5f42314449fc648b18627b.zip
i40evf: do not re-arm watchdog after remove
Add in an adapter state check to prevent re-arming watchdog timer after i40evf_remove has been called and timer has been deleted. Change-ID: I636ba7c6322be8cbf053231959f90c0a2d8d803a Signed-off-by: Ashish Shah <ashish.n.shah@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel')
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40evf_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 4c01079fc2ff..2aca9cf45119 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -1403,6 +1403,8 @@ static void i40evf_watchdog_task(struct work_struct *work)
watchdog_done:
clear_bit(__I40EVF_IN_CRITICAL_TASK, &adapter->crit_section);
restart_watchdog:
+ if (adapter->state == __I40EVF_REMOVE)
+ return;
if (adapter->aq_required)
mod_timer(&adapter->watchdog_timer,
jiffies + msecs_to_jiffies(20));