diff options
author | 2016-06-08 20:07:48 +0300 | |
---|---|---|
committer | 2016-06-14 16:20:18 +0300 | |
commit | eb57a5b387d66be1f192a99b3707804e7f63715c (patch) | |
tree | 3578c780b923366fb664bdcf80fda9a85835a8da /drivers/net/wireless/ath/wil6210/wil6210.h | |
parent | wil6210: fix chan check in wil_p2p_listen (diff) | |
download | linux-dev-eb57a5b387d66be1f192a99b3707804e7f63715c.tar.xz linux-dev-eb57a5b387d66be1f192a99b3707804e7f63715c.zip |
wil6210: abort P2P search when stopping P2P device
The nl80211 layer expects P2P search operation to be aborted
if needed when stopping P2P device. If the P2P search operation
is still running after returning from stop_p2p_device
it causes a WARN_ON and possibly a kernel crash.
Fix this by aborting the P2P search in wil_cfg80211_stop_p2p_device
and preventing P2P search from being started on a stopped P2P
device.
Note, the fix does not cover the case where a regular scan
is started on the P2P device. It will be completed in the
future when support is added for aborting a scan operation.
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>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/wil6210.h')
-rw-r--r-- | drivers/net/wireless/ath/wil6210/wil6210.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/wil6210.h b/drivers/net/wireless/ath/wil6210/wil6210.h index 1feaf5a16fab..ecab4af90602 100644 --- a/drivers/net/wireless/ath/wil6210/wil6210.h +++ b/drivers/net/wireless/ath/wil6210/wil6210.h @@ -458,6 +458,7 @@ struct wil_tid_crypto_rx { struct wil_p2p_info { struct ieee80211_channel listen_chan; u8 discovery_started; + u8 p2p_dev_started; u64 cookie; struct timer_list discovery_timer; /* listen/search duration */ struct work_struct discovery_expired_work; /* listen/search expire */ |