ath9k: fix race condition in irq processing during hardware reset
authorFelix Fietkau <nbd@openwrt.org>
Wed, 14 Jan 2015 13:17:36 +0000 (14:17 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 19 Jan 2015 12:32:29 +0000 (14:32 +0200)
To fix invalid hardware accesses, the commit 872b5d814f99 ("ath9k: do not
access hardware on IRQs during reset") made the irq handler ignore interrupts
emitted after queueing a hardware reset (which disables the IRQ). This left a
small time window for the IRQ to get re-enabled by the tasklet, which caused
IRQ storms.  Instead of returning IRQ_NONE when ATH_OP_HW_RESET is set, disable
the IRQ entirely for the duration of the reset.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/main.c

Simple merge