twx-linux/drivers/net/wireless
Alexey Khoroshilov 9494849e53 ath9k_htc: fix data race between request_firmware_nowait() callback and suspend()
ath9k_hif_usb_probe() requests firmware asynchronically and
there is some initialization postponed till firmware is ready.
In particular, ath9k_hif_usb_firmware_cb() callback initializes
hif_dev->tx.tx_buf and hif_dev->tx.tx_pending lists.

At the same time, ath9k_hif_usb_suspend() iterates that lists through
ath9k_hif_usb_dealloc_urbs(). If suspend happens before request_firmware_nowait()
callback is called, it can lead to oops.

Similar issue could be in ath9k_hif_usb_disconnect(), but it is prevented
using hif_dev->fw_done completion and HIF_USB_READY flag. The patch extends
this approach to suspend() as well.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-07-17 14:34:49 -04:00
..
ath ath9k_htc: fix data race between request_firmware_nowait() callback and suspend() 2013-07-17 14:34:49 -04:00
b43 b43: replace B43_BCMA_EXTRA with modparam allhwsupport 2013-06-27 13:42:15 -04:00
b43legacy
brcm80211 brcmfmac: remove code and comment for older kernel support 2013-06-27 13:42:19 -04:00
cw1200 cw1200: Fix up a large pile of sparse warnings 2013-06-24 14:44:24 -04:00
hostap
ipw2x00 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-07-09 18:24:39 -07:00
iwlegacy Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2013-06-21 15:42:30 -04:00
iwlwifi iwlwifi: mvm: Add support for Low Power RX 2013-06-25 12:21:19 +02:00
libertas
libertas_tf
mwifiex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-06-19 16:49:39 -07:00
orinoco net/trivial: replace numeric with standard PM state macros 2013-06-28 22:11:48 -07:00
p54
prism54
rt2x00 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-07-09 18:24:39 -07:00
rtl818x
rtlwifi rtlwifi: Initialize power-setting callback for USB devices 2013-07-17 14:34:48 -04:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-07-09 18:24:39 -07:00
zd1211rw
adm8211.c
adm8211.h
airo_cs.c
airo.c drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
airo.h
at76c50x-usb.c
at76c50x-usb.h
atmel_cs.c
atmel_pci.c
atmel.c
atmel.h
Kconfig
mac80211_hwsim.c
mac80211_hwsim.h
Makefile
mwl8k.c
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h