hw.c contains the following code: static void ath9k_hw_init_interrupt_masks(struct ath_hw *ah, enum nl80211_iftype opmode) { ah->mask_reg = AR_IMR_TXERR | AR_IMR_TXURN | AR_IMR_RXERR | AR_IMR_RXORN | AR_IMR_BCNMISC; if (ah->intr_mitigation) ah->mask_reg |= AR_IMR_RXINTM | AR_IMR_RXMINTR; else ah->mask_reg |= AR_IMR_RXOK; ... } mac.c contains the following code: omask = ath9k_hw_set_interrupts(ah, ah->mask_reg & ~ATH9K_INT_GLOBAL); ATH9K_INT_GLOBAL is 0x80000000 (hw.h) reg.h contains the following definitions: #define AR_IMR_TXMINTR 0x00080000 #define AR_IMR_RXMINTR 0x01000000 #define AR_IMR_TXINTM 0x40000000 #define AR_IMR_RXINTM 0x80000000 Is it correct that the call to ath9k_hw_set_interrupts is masking out what appears to be the flag AR_IMR_RXINTM? I don't know enough about the code to know what it all means, but at least in the definition of the mask_reg field in hw.c, AR_IMR_RXINTM seems to be used in a manner that is quite parallel to AR_IMR_RXMINTR, and AR_IMR_RXINTM seems to be conceptually similar to AR_IMR_TXINTM, but neither of them is masked out. thanks, julia -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html