diff options
author | Shai Malin <smalin@marvell.com> | 2021-08-01 13:23:40 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-08-03 11:45:03 +0100 |
commit | 995c3d49bd71605c8179e1e129773e37b2da9b20 (patch) | |
tree | 2120730bcfd08ceebeb4b1ff4e18d91cf1c22071 | |
parent | 07e1d6b3e0203a47128dd7d490e73ebe6dae7c4d (diff) |
qed: Avoid db_recovery during recovery
Avoid calling the qed doorbell recovery - qed_db_rec_handler()
during device recovery.
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: Shai Malin <smalin@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qed/qed_main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index aa48b1b7eddc..6871d892eabf 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -1215,6 +1215,10 @@ static void qed_slowpath_task(struct work_struct *work) if (test_and_clear_bit(QED_SLOWPATH_PERIODIC_DB_REC, &hwfn->slowpath_task_flags)) { + /* skip qed_db_rec_handler during recovery/unload */ + if (hwfn->cdev->recov_in_prog || !hwfn->slowpath_wq_active) + goto out; + qed_db_rec_handler(hwfn, ptt); if (hwfn->periodic_db_rec_count--) qed_slowpath_delayed_work(hwfn, @@ -1222,6 +1226,7 @@ static void qed_slowpath_task(struct work_struct *work) QED_PERIODIC_DB_REC_INTERVAL); } +out: qed_ptt_release(hwfn, ptt); } |