linux_dsm_epyc7002/drivers/net/wireless
Felix Fietkau 3a5e969bb2 ath9k: fix race condition in enabling/disabling IRQs
The code currently relies on refcounting to disable IRQs from within the
IRQ handler and re-enabling them again after the tasklet has run.

However, due to race conditions sometimes the IRQ handler might be
called twice, or the tasklet may not run at all (if interrupted in the
middle of a reset).

This can cause nasty imbalances in the irq-disable refcount which will
get the driver permanently stuck until the entire radio has been stopped
and started again (ath_reset will not recover from this).

Instead of using this fragile logic, change the code to ensure that
running the irq handler during tasklet processing is safe, and leave the
refcount untouched.

Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2017-02-07 11:00:25 +02:00
..
admtek adm80211: return an error if adm8211_alloc_rings() fails 2016-12-30 13:29:21 +02:00
ath ath9k: fix race condition in enabling/disabling IRQs 2017-02-07 11:00:25 +02:00
atmel Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
broadcom brcmfmac: be more verbose when PSM's watchdog fires 2017-02-02 08:14:26 +02:00
cisco net: use core MTU range checking in wireless drivers 2016-10-20 14:51:08 -04:00
intel iwlwifi: alloc memory dynamically also for DVM 2017-01-31 09:10:24 +02:00
intersil wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
marvell wireless-drivers-next patches for 4.11 2017-02-01 12:46:17 -05:00
mediatek Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
ralink rt2800: enable rt3290 unconditionally on pci probe 2017-01-31 09:27:38 +02:00
realtek wireless-drivers-next patches for 4.11 2017-02-01 12:46:17 -05:00
rsi rsi: Add support for 802.11d 2016-11-25 11:47:36 +02:00
st cw1200: fix bogus maybe-uninitialized warning 2016-11-17 08:47:58 +02:00
ti wlcore: print the sdio buffer after reading it 2017-01-28 09:11:08 +02:00
zydas net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
Kconfig wireless: deprecate WDS and disable by default 2016-10-27 09:08:43 +02:00
mac80211_hwsim.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
mac80211_hwsim.h drivers/wireless: use nla_put_u64_64bit() 2016-04-26 12:00:48 -04:00
Makefile
ray_cs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ray_cs.h
rayctl.h
rndis_wlan.c nl80211: support beacon report scanning 2016-07-06 14:51:31 +02:00
wl3501_cs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
wl3501.h