ath9k: correct ath9k_hw_set_interrupts
PATCH 1/1 ath9k: correct ath9k_hw_set_interrupts
Commit 4df3071ebd92ef7115b409da64d0eb405d24a631 "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.
--- drivers/net/wireless/ath/ath9k/mac.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/net/wireless/ath/ath9k/mac.c +3 -2
@@ -891,7 +891,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);
@@ -969,7 +969,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 ; }
Signature · 1 line
1.7.1
PATCH 1/1 ath9k: correct ath9k_hw_set_interrupts
Quoted 8 lines · Stanislaw Gruszka
Commit
4df3071ebd92ef7115b409da64d0eb405d24a631"ath9k_hw: optimize interrupt mask changes", changedath9k_hw_set_interruptsfunction 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 haveATH9K_INT_GLOBALflag set.Signed-off-by Stanislaw Gruszka <[email protected]>
Should this be Cc: stable at kernel.org?
Signature · 2 lines
John W. Linville Someday the world will need a hero, and you linville at tuxdriver.com might be all we have. Be ready.
PATCH 1/1 ath9k: correct ath9k_hw_set_interrupts
Quoted 11 lines · John W. Linville
Quoted 8 lines · Stanislaw Gruszka
Commit
4df3071ebd92ef7115b409da64d0eb405d24a631"ath9k_hw: optimize interrupt mask changes", changedath9k_hw_set_interruptsfunction 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 haveATH9K_INT_GLOBALflag set.Signed-off-by Stanislaw Gruszka <[email protected]>Should this be Cc: stable at kernel.org?
I think no. 4df3071ebd92e is from .38-rc1 , this patch should go to 38 if possible. If not, I'm still not sure about stable. It does not fix any pratical issues for me, my ath9k device work good with and without patch.
Stanislaw