linux/drivers/net/wireless
Eliad Peller af390f4dd3 wlcore: protect wlcore_op_set_key with mutex
wlcore_op_set_key() calls wl18xx_set_key(),
which in turn executes some of his function
calls without acquiring wl->mutex and making
sure the fw is awake.

Adding mutex_lock()/ps_elp_wakeup() calls is
not enough, as wl18xx_set_key() calls
wl1271_tx_flush() which can't be called while
the mutex is taken.

Add the required calls to wlcore_op_set_key,
but limit the queues_stop and flushing
to the only encryption types in which
a spare block might be needed (GEM and TKIP).

[Arik - move state != ON check]

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <luca@coelho.fi>
2012-09-27 12:13:54 +03:00
..
ath ath5k: add missing breaks in ath5k_hw_set_spur_mitigation_filter 2012-09-25 15:57:44 -04:00
b43 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-09-07 15:07:55 -04:00
b43legacy Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2012-08-21 16:00:21 -04:00
brcm80211 brcmfmac: get rid of void pointer in struct brcmf_cfg80211_priv 2012-09-24 15:02:07 -04:00
hostap wireless: use is_broadcast_ether_addr() instead of memcmp() 2012-09-07 15:03:39 -04:00
ipw2x00 ipw2x00: silence GCC warning for unused variable 'dev' 2012-09-24 15:02:08 -04:00
iwlegacy iwlegacy: use eth_broadcast_addr 2012-09-24 15:02:08 -04:00
iwlwifi Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next 2012-09-25 15:55:02 -04:00
libertas libertas: set mac control synchronously during init 2012-09-11 15:32:02 -04:00
libertas_tf mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
mwifiex mwifiex: potential corruption in mwifiex_update_uap_custom_ie() 2012-09-25 15:57:43 -04:00
orinoco orinoco: use is_zero_ether_addr() instead of memcmp() 2012-09-07 15:03:37 -04:00
p54 p54: connect to 11w protected networks 2012-09-24 15:02:08 -04:00
prism54 wireless: Remove casts to same type 2012-06-06 09:31:33 -07:00
rt2x00 rt2x00: Replace open coded interface checking with interface combinations. 2012-09-25 15:57:44 -04:00
rtl818x mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
rtlwifi rtlwifi: Remove EXPERIMENTAL as pre-requisite for the drivers 2012-09-12 14:19:16 -04:00
ti wlcore: protect wlcore_op_set_key with mutex 2012-09-27 12:13:54 +03:00
zd1211rw zd1211rw: enable support for MFP 2012-09-11 15:13:50 -04:00
adm8211.c mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
adm8211.h
airo_cs.c
airo.c airo: remove duplicated include from airo.c 2012-09-07 15:03:40 -04:00
airo.h
at76c50x-usb.c wireless: at76c50x: eliminate hex2str() 2012-09-11 15:13:53 -04:00
at76c50x-usb.h
atmel_cs.c
atmel_pci.c
atmel.c wireless: Remove casts to same type 2012-06-06 09:31:33 -07:00
atmel.h
Kconfig iwmc3200wifi: remove driver for unavailable hardware 2012-07-10 12:16:32 -04:00
mac80211_hwsim.c mac80211_hwsim: move module_init/exit 2012-09-06 17:09:30 +02:00
mac80211_hwsim.h
Makefile iwmc3200wifi: remove driver for unavailable hardware 2012-07-10 12:16:32 -04:00
mwl8k.c mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
ray_cs.c wireless: Remove casts to same type 2012-06-06 09:31:33 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: remove pointless check from rndis_scan() 2012-09-11 15:31:44 -04:00
wl3501_cs.c wl3501_cs: use is_broadcast_ether_addr() instead of memcmp() 2012-09-07 15:03:40 -04:00
wl3501.h
zd1201.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
zd1201.h