diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-12-20 16:18:45 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-01-03 15:36:56 -0500 |
commit | a6a172b292a13c44464d9012809f24da41ddbf8a (patch) | |
tree | 653d8e1b81ac210dba29f9ca4c4e37f7ac249df0 | |
parent | f84d1b49c9ef9057defc47137405d1c1b87b19db (diff) | |
download | op-kernel-dev-a6a172b292a13c44464d9012809f24da41ddbf8a.zip op-kernel-dev-a6a172b292a13c44464d9012809f24da41ddbf8a.tar.gz |
ath9k_hw: fix gentimer callback without overflow handler
If a gentimer has both the trigger and the overflow bits set, only
mask out the trigger bit if an overflow handler is present.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index a4b1ae0..160be02 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -3084,14 +3084,14 @@ void ath_gen_timer_isr(struct ath_hw *ah) trigger_mask &= timer_table->timer_mask; thresh_mask &= timer_table->timer_mask; - trigger_mask &= ~thresh_mask; - for_each_set_bit(index, &thresh_mask, ARRAY_SIZE(timer_table->timers)) { timer = timer_table->timers[index]; if (!timer) continue; if (!timer->overflow) continue; + + trigger_mask &= ~BIT(index); timer->overflow(timer->arg); } |