summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHamad Kadmany <hkadmany@codeaurora.org>2016-12-28 10:24:25 +0200
committerHamad Kadmany <hkadmany@codeaurora.org>2016-12-28 10:24:25 +0200
commitc81d1f330afb84ce71d60ff558ec2df581a768f7 (patch)
tree1dad8f1a7c982310e86aa0608369c04b695fe058
parent55e8426a192811d7567f19d7e781727f46b0406d (diff)
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. CRs-Fixed: 1105834 Change-Id: Iea5b8a047908ed722a03c7838cd373718828bcc4 Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
-rw-r--r--drivers/net/wireless/ath/wil6210/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/main.c b/drivers/net/wireless/ath/wil6210/main.c
index 5285ebc8b9af..bebc461a42c8 100644
--- a/drivers/net/wireless/ath/wil6210/main.c
+++ b/drivers/net/wireless/ath/wil6210/main.c
@@ -876,7 +876,10 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw)
flush_workqueue(wil->wmi_wq);
wil_bl_crash_info(wil, false);
+ wil_disable_irq(wil);
rc = wil_target_reset(wil);
+ wil6210_clear_irq(wil);
+ wil_enable_irq(wil);
wil_rx_fini(wil);
if (rc) {
wil_bl_crash_info(wil, true);