summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/igc/igc_main.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-04-22 02:39:48 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2021-04-22 13:19:01 -0400
commitfd49e8ee70b306a003323a17bbcc0633f322c135 (patch)
treebe0e5f131ee5afdbaa7a6b5fc76bb36baad8c067 /drivers/net/ethernet/intel/igc/igc_main.c
parent238eca821cee90e91139da84ef4f38c74d7cf0d9 (diff)
parent7aef27f0b2a8a58c28578d3e0caf3f27e1a1c39c (diff)
downloadlwn-fd49e8ee70b306a003323a17bbcc0633f322c135.tar.gz
lwn-fd49e8ee70b306a003323a17bbcc0633f322c135.zip
Merge branch 'kvm-sev-cgroup' into HEAD
Diffstat (limited to 'drivers/net/ethernet/intel/igc/igc_main.c')
-rw-r--r--drivers/net/ethernet/intel/igc/igc_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 7ac9597ddb84..4d989ebc9713 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -3831,10 +3831,19 @@ static void igc_reset_task(struct work_struct *work)
adapter = container_of(work, struct igc_adapter, reset_task);
+ rtnl_lock();
+ /* If we're already down or resetting, just bail */
+ if (test_bit(__IGC_DOWN, &adapter->state) ||
+ test_bit(__IGC_RESETTING, &adapter->state)) {
+ rtnl_unlock();
+ return;
+ }
+
igc_rings_dump(adapter);
igc_regs_dump(adapter);
netdev_err(adapter->netdev, "Reset adapter\n");
igc_reinit_locked(adapter);
+ rtnl_unlock();
}
/**