linux/drivers/net/wireless/ath/wil6210
Lior David 280ab987ef wil6210: fix race conditions in p2p listen and search
Fix 2 race conditions found during test runs of P2P discovery:
1. Because wil_p2p_cancel_listen was not protected, user space
could start a new P2P listen/search before wmi_stop_discovery
completed. This caused a crash in the firmware.
2. In P2P listen, when listen timer expires and user space calls
cancel_remain_on_channel at the same time, code could send the
cfg80211_remain_on_channel_expired notification twice.

Added protections with wil->mutex to several places that call
wmi_stop_discovery.

Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2016-03-07 11:43:20 +02:00
..
boot_loader.h wil6210: report boot loader error 2015-08-06 09:44:02 +03:00
cfg80211.c wil6210: fix race conditions in p2p listen and search 2016-03-07 11:43:20 +02:00
debug.c wil6210: add handling of RX HTRSH interrupt 2014-12-01 15:57:22 -05:00
debugfs.c wil6210: switch to generated wmi.h 2016-03-07 11:43:20 +02:00
ethtool.c wil6210: use inline functions for register access 2015-08-06 09:43:43 +03:00
fw_inc.c wil6210: use inline functions for register access 2015-08-06 09:43:43 +03:00
fw.c wil6210: use inline functions for register access 2015-08-06 09:43:43 +03:00
fw.h
interrupt.c wil6210: add support for platform specific notification events 2016-03-07 11:43:20 +02:00
ioctl.c wil6210: use inline functions for register access 2015-08-06 09:43:43 +03:00
Kconfig wil6210: dump firmware memory when firmware crashes 2015-10-09 11:39:19 +03:00
main.c wil6210: fix race conditions in p2p listen and search 2016-03-07 11:43:20 +02:00
Makefile wil6210: p2p initial support 2016-03-07 11:43:20 +02:00
netdev.c wil6210: P2P_DEVICE virtual interface support 2016-03-07 11:43:20 +02:00
p2p.c wil6210: fix race conditions in p2p listen and search 2016-03-07 11:43:20 +02:00
pcie_bus.c wil6210: P2P_DEVICE virtual interface support 2016-03-07 11:43:20 +02:00
pm.c wil6210: system power management 2015-08-06 09:43:56 +03:00
pmc.c wil6210: pmc logger bug fix 2015-10-09 11:39:09 +03:00
pmc.h wil6210: Add pmc debug mechanism memory management 2015-05-04 20:55:43 +03:00
rx_reorder.c wil6210: remove BACK RX and TX workers 2016-03-07 11:43:19 +02:00
trace.c
trace.h wil6210: switch to generated wmi.h 2016-03-07 11:43:20 +02:00
txrx.c wil6210: switch to generated wmi.h 2016-03-07 11:43:20 +02:00
txrx.h wil6210: replay attack detection 2016-03-07 11:43:19 +02:00
wil6210.h wil6210: fix race conditions in p2p listen and search 2016-03-07 11:43:20 +02:00
wil_crash_dump.c wil6210: support for platform specific crash recovery 2016-01-07 15:00:44 +02:00
wil_platform.c wil6210: support for platform specific crash recovery 2016-01-07 15:00:44 +02:00
wil_platform.h wil6210: add support for platform specific notification events 2016-03-07 11:43:20 +02:00
wmi.c wil6210: P2P_DEVICE virtual interface support 2016-03-07 11:43:20 +02:00
wmi.h wil6210: switch to generated wmi.h 2016-03-07 11:43:20 +02:00