kernel-fxtec-pro1x/drivers/net/wireless
Johannes Berg f69a23b795 iwlwifi: fix double free/complete in firmware loading
Linus reported that due to mac80211 failing to register
the device (due to WoWLAN) his machine crashed etc. as
we double-freed the vmalloc() firmware area. His patch
to fix it was very similar to this one but I noticed
that there's another bug in the area: we complete the
completion before starting, so since we're running in
a work struct context stop() could be called while in
the middle of start() which will almost certainly lead
to issues.

Make a modification similar to his to avoid the double-
free but also move the completion to another spot so it
is only done after start() either finished or failed so
that stop() can have a consistent state.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-06-05 14:27:29 -04:00
..
ath Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem 2012-05-30 10:32:16 -04:00
b43 b43: use pci_is_pcie() instead of obsolete pci_dev.is_pcie 2012-05-16 12:46:33 -04:00
b43legacy ssb: remove rev from boardinfo 2012-05-16 12:45:20 -04:00
brcm80211 brcmfmac: Fix likely misuse of | for & 2012-06-04 15:26:11 -04:00
hostap net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
ipw2x00 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-14 18:00:48 -04:00
iwlegacy drivers/net: Convert compare_ether_addr to ether_addr_equal 2012-05-10 23:33:01 -04:00
iwlwifi iwlwifi: fix double free/complete in firmware loading 2012-06-05 14:27:29 -04:00
iwmc3200wifi drivers/net: iwmc3200 depends on EXPERIMENTAL 2012-04-21 15:28:47 -04:00
libertas USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
libertas_tf USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
mwifiex mwifiex: support NL80211_HIDDEN_SSID_ZERO_LEN for uAP 2012-06-04 15:21:25 -04:00
orinoco USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
p54 USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
prism54 prism54: replace open-coded ARRAY_SIZE with macro 2012-04-12 15:10:47 -04:00
rt2x00 rt2x00: use atomic variable for seqno 2012-06-04 15:26:26 -04:00
rtl818x USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
rtlwifi USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
ti wlcore: fix undefined symbols when CONFIG_PM is not defined 2012-05-29 13:45:23 -04:00
zd1211rw USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
adm8211.c net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
adm8211.h
airo.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
airo.h
airo_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
at76c50x-usb.c USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
at76c50x-usb.h
atmel.c wireless, atmel: remove pointless test for NULL before release_firmware() call 2012-04-12 15:06:07 -04:00
atmel.h
atmel_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
atmel_pci.c net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
Kconfig wireless/wl12xx/wl1251: move TI WLAN modules to a common ti subdirectory 2012-04-12 08:43:55 +03:00
mac80211_hwsim.c mac80211_hwsim: advertise interface combinations 2012-06-04 15:25:10 -04:00
mac80211_hwsim.h
Makefile wireless/wl12xx/wl1251: move TI WLAN modules to a common ti subdirectory 2012-04-12 08:43:55 +03:00
mwl8k.c drivers/net: Convert compare_ether_addr to ether_addr_equal 2012-05-10 23:33:01 -04:00
ray_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ray_cs.h
rayctl.h ray_cs: Fix array bounds warnings. 2011-11-26 15:41:29 -05:00
rndis_wlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-24 11:54:29 -07:00
wl3501.h
wl3501_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
zd1201.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
zd1201.h