wil6210: fix missed MISC mbox interrupt
authorMaya Erez <merez@codeaurora.org>
Fri, 26 Apr 2019 15:43:35 +0000 (18:43 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 3 May 2019 05:04:36 +0000 (08:04 +0300)
commit7441be71ba7e07791fd4fa2b07c932dff14ff4d9
treecec8f642f1a0e239bf5952e9d12ad39b68d5ceb6
parentddf7afdde824545680dafba2c91f6b218c45de3a
wil6210: fix missed MISC mbox interrupt

When MISC interrupt is triggered due to HALP bit, in parallel
to mbox events handling by the MISC threaded IRQ, new mbox
interrupt can be missed in the following scenario:
1. MISC ICR is read in the IRQ handler
2. Threaded IRQ is completed and all MISC interrupts are unmasked
3. mbox interrupt is set by FW
4. HALP is masked
The mbox interrupt in step 3 can be missed due to constant high level
of ICM.
Masking all MISC IRQs instead of masking only HALP bit in step 4
will guarantee that ICM will drop to 0 and interrupt will be triggered
once MISC interrupts will be unmasked.

Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/interrupt.c