mirror of https://gitee.com/openkylin/linux.git
ath9k_hw: check for asynchronous MCI interrupt pending
MCI interrupt is an asynchronous one, so take care of it by having a check in ath9k_hw_intrpend, which actually decides whether the interrupt is really for the driver from ath_isr Cc: Wilson Tsao <wtsao@qca.qualcomm.com> Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
f229f815d2
commit
e35848134c
|
@ -760,7 +760,10 @@ bool ath9k_hw_intrpend(struct ath_hw *ah)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
host_isr = REG_READ(ah, AR_INTR_ASYNC_CAUSE);
|
host_isr = REG_READ(ah, AR_INTR_ASYNC_CAUSE);
|
||||||
if ((host_isr & AR_INTR_MAC_IRQ) && (host_isr != AR_INTR_SPURIOUS))
|
|
||||||
|
if (((host_isr & AR_INTR_MAC_IRQ) ||
|
||||||
|
(host_isr & AR_INTR_ASYNC_MASK_MCI)) &&
|
||||||
|
(host_isr != AR_INTR_SPURIOUS))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
host_isr = REG_READ(ah, AR_INTR_SYNC_CAUSE);
|
host_isr = REG_READ(ah, AR_INTR_SYNC_CAUSE);
|
||||||
|
|
Loading…
Reference in New Issue