forked from Minki/linux
ath9k: correct ath9k_hw_set_interrupts
Commit 4df3071ebd
"ath9k_hw: optimize
interrupt mask changes", changed ath9k_hw_set_interrupts function to
enable interrupts regardless of function argument, what could possibly
be wrong. Correct that behaviour and check "ints" arguments before
enabling interrupts, also disable interrupts if ints do not have
ATH9K_INT_GLOBAL flag set.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
79ae79c9aa
commit
385918cc6a
@ -885,7 +885,7 @@ void ath9k_hw_set_interrupts(struct ath_hw *ah, enum ath9k_int ints)
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
|
||||
if (!(ints & ATH9K_INT_GLOBAL))
|
||||
ath9k_hw_enable_interrupts(ah);
|
||||
ath9k_hw_disable_interrupts(ah);
|
||||
|
||||
ath_dbg(common, ATH_DBG_INTERRUPT, "0x%x => 0x%x\n", omask, ints);
|
||||
|
||||
@ -963,7 +963,8 @@ void ath9k_hw_set_interrupts(struct ath_hw *ah, enum ath9k_int ints)
|
||||
REG_CLR_BIT(ah, AR_IMR_S5, AR_IMR_S5_TIM_TIMER);
|
||||
}
|
||||
|
||||
ath9k_hw_enable_interrupts(ah);
|
||||
if (ints & ATH9K_INT_GLOBAL)
|
||||
ath9k_hw_enable_interrupts(ah);
|
||||
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user