ath9k: Fix baseband watchdog interrupts
Program the required baseband watchdog interrupt mask to ensure that the correct watchdog interrupts are raised when the BB is hung for some reason. Also, use the capability HW_BB_WATCHDOG instead of relying on other flags. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
a7abaf7da9
commit
a6bb860be4
@@ -587,7 +587,7 @@ irqreturn_t ath_isr(int irq, void *dev)
|
||||
!(ah->caps.hw_caps & ATH9K_HW_CAP_EDMA)))
|
||||
goto chip_reset;
|
||||
|
||||
if ((ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) &&
|
||||
if ((ah->config.hw_hang_checks & HW_BB_WATCHDOG) &&
|
||||
(status & ATH9K_INT_BB_WATCHDOG)) {
|
||||
|
||||
spin_lock(&common->cc_lock);
|
||||
@@ -726,11 +726,13 @@ static int ath9k_start(struct ieee80211_hw *hw)
|
||||
|
||||
if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA)
|
||||
ah->imask |= ATH9K_INT_RXHP |
|
||||
ATH9K_INT_RXLP |
|
||||
ATH9K_INT_BB_WATCHDOG;
|
||||
ATH9K_INT_RXLP;
|
||||
else
|
||||
ah->imask |= ATH9K_INT_RX;
|
||||
|
||||
if (ah->config.hw_hang_checks & HW_BB_WATCHDOG)
|
||||
ah->imask |= ATH9K_INT_BB_WATCHDOG;
|
||||
|
||||
ah->imask |= ATH9K_INT_GTT;
|
||||
|
||||
if (ah->caps.hw_caps & ATH9K_HW_CAP_HT)
|
||||
|
Reference in New Issue
Block a user