diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9003_mac.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_mac.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c index d9e0824af09..78816b8b217 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c @@ -181,11 +181,14 @@ static bool ar9003_hw_get_isr(struct ath_hw *ah, enum ath9k_int *masked)  	u32 mask2 = 0;  	struct ath9k_hw_capabilities *pCap = &ah->caps;  	struct ath_common *common = ath9k_hw_common(ah); -	u32 sync_cause = 0, async_cause; +	u32 sync_cause = 0, async_cause, async_mask = AR_INTR_MAC_IRQ; + +	if (ath9k_hw_mci_is_enabled(ah)) +		async_mask |= AR_INTR_ASYNC_MASK_MCI;  	async_cause = REG_READ(ah, AR_INTR_ASYNC_CAUSE); -	if (async_cause & (AR_INTR_MAC_IRQ | AR_INTR_ASYNC_MASK_MCI)) { +	if (async_cause & async_mask) {  		if ((REG_READ(ah, AR_RTC_STATUS) & AR_RTC_STATUS_M)  				== AR_RTC_STATUS_ON)  			isr = REG_READ(ah, AR_ISR);  |