diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2020-09-10 09:44:31 +0200 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2020-09-10 09:44:31 +0200 |
commit | f1c4dea125efb54546bc11ffed6069efc585330e (patch) | |
tree | 676a0ca723cdf5fb0c71f25df103fea766938822 /drivers/net/ethernet/intel/igb/igb_main.c | |
parent | c0969469ee07b570b054df2d47a787f2732a362a (diff) | |
parent | 6576d69aac94cd8409636dfa86e0df39facdf0d2 (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.c | 9 |
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(); } /** |