Commit 3ee908dc authored by Hamad Kadmany's avatar Hamad Kadmany Committed by Kalle Valo

wil6210: protect against false interrupt during reset sequence

During reset sequence it is seen that device is generating an
interrupt eventhough interrupts are masked at device level.

Add workaround to disable the interrupts from host side during
reset and clear any pending interrupts before re-enabling
the interrupt.
Signed-off-by: default avatarHamad Kadmany <qca_hkadmany@qca.qualcomm.com>
Signed-off-by: default avatarMaya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 4d4c4dc3
...@@ -918,7 +918,10 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw) ...@@ -918,7 +918,10 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw)
flush_workqueue(wil->wmi_wq); flush_workqueue(wil->wmi_wq);
wil_bl_crash_info(wil, false); wil_bl_crash_info(wil, false);
wil_disable_irq(wil);
rc = wil_target_reset(wil); rc = wil_target_reset(wil);
wil6210_clear_irq(wil);
wil_enable_irq(wil);
wil_rx_fini(wil); wil_rx_fini(wil);
if (rc) { if (rc) {
wil_bl_crash_info(wil, true); wil_bl_crash_info(wil, true);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment