ath9k: fix interrupt storms on queued hardware reset
authorFelix Fietkau <nbd@openwrt.org>
Wed, 8 Aug 2012 14:25:03 +0000 (16:25 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 10 Aug 2012 18:50:24 +0000 (14:50 -0400)
commitf41a9b3b15e0f74656f69e6da403d870c53ea4e6
tree1cbdc5bae0a58e546c16b7bf3ec448bbaf53aab8
parentbbf2e65258302c42d74fd53b3d92d6d8f03aaeff
ath9k: fix interrupt storms on queued hardware reset

commit b74713d04effbacd3d126ce94cec18742187b6ce
"ath9k: Handle fatal interrupts properly" introduced a race condition, where
IRQs are being left enabled, however the irq handler returns IRQ_HANDLED
while the reset is still queued without addressing the IRQ cause.
This leads to an IRQ storm that prevents the system from even getting to
the reset code.

Fix this by disabling IRQs in the handler without touching intr_ref_cnt.

Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Cc: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/mac.c
drivers/net/wireless/ath/ath9k/mac.h
drivers/net/wireless/ath/ath9k/main.c