mirror of https://gitee.com/openkylin/linux.git
af390f4dd3
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> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
acx.c | ||
acx.h | ||
conf.h | ||
debugfs.c | ||
debugfs.h | ||
io.c | ||
io.h | ||
main.c | ||
reg.h | ||
tx.c | ||
tx.h | ||
wl18xx.h |