linux/drivers/net/wireless
Golan Ben Ami 2b18824a5d iwlwifi: pcie: set STATUS_RFKILL immediately after interrupt
Currently, when getting a RFKILL interrupt, the transport enters a flow
in which it stops the device, disables other interrupts, etc. After
stopping the device, the transport resets the hw, and sleeps. During
the sleep, a context switch occurs and host commands are sent by upper
layers (e.g. mvm) to the fw. This is possible since the op_mode layer
and the transport layer hold different mutexes.

Since the STATUS_RFKILL bit isn't set, the transport layer doesn't
recognize that RFKILL was toggled on, and no commands can actually be
sent, so it enqueues the command to the tx queue and sets a timer on
the queue.

After switching context back to stopping the device, STATUS_RFKILL is
set, and then the transport can't send the command to the fw.
This eventually results in a queue hang.

Fix this by setting STATUS_RFKILL immediately when
the interrupt is fired.

Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-02-08 17:54:21 +02:00
..
admtek adm80211: return an error if adm8211_alloc_rings() fails 2016-12-30 13:29:21 +02:00
ath wireless-drivers-next patches for 4.11 2017-02-01 12:46:17 -05: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: pcie: set STATUS_RFKILL immediately after interrupt 2017-02-08 17:54:21 +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
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
wl3501_cs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
wl3501.h