]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitecefce0f00f2cee1811006fd15bd6247c6fb23ae
tree2fa9692b9e7a6c1bd78895f09154750480b0452a
parente7e9648ab8ce64df25f2451c2fab9243279e4439
ath9k: fix race condition in irq processing during hardware reset

To fix invalid hardware accesses, the commit d73ae2fab8c8 ("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