summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/igb/igb_main.c
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2020-09-10 09:44:31 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2020-09-10 09:44:31 +0200
commitf1c4dea125efb54546bc11ffed6069efc585330e (patch)
tree676a0ca723cdf5fb0c71f25df103fea766938822 /drivers/net/ethernet/intel/igb/igb_main.c
parentc0969469ee07b570b054df2d47a787f2732a362a (diff)
parent6576d69aac94cd8409636dfa86e0df39facdf0d2 (diff)
Merge tag 'v5.4.61' into toradex_5.4.y
This is the 5.4.61 stable release
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb_main.c')
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 7d64ca545007..359d8aa1cbef 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -6250,9 +6250,18 @@ static void igb_reset_task(struct work_struct *work)
struct igb_adapter *adapter;
adapter = container_of(work, struct igb_adapter, reset_task);
+ rtnl_lock();
+ /* If we're already down or resetting, just bail */
+ if (test_bit(__IGB_DOWN, &adapter->state) ||
+ test_bit(__IGB_RESETTING, &adapter->state)) {
+ rtnl_unlock();
+ return;
+ }
+
igb_dump(adapter);
netdev_err(adapter->netdev, "Reset adapter\n");
igb_reinit_locked(adapter);
+ rtnl_unlock();
}
/**