summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/wil6210/cfg80211.c
diff options
context:
space:
mode:
authorHamad Kadmany <qca_hkadmany@qca.qualcomm.com>2017-11-14 16:25:36 +0300
committerKalle Valo <kvalo@qca.qualcomm.com>2017-12-02 17:18:22 +0300
commit144a12a6d83f3ca34ddefce5dee4d502afd2fc5b (patch)
treeb792aadcb5211dc6334c3b99fc68371cbf191753 /drivers/net/wireless/ath/wil6210/cfg80211.c
parent3ead1e016c255a52e177bacf6c473fc99cb6ccb0 (diff)
downloadlinux-144a12a6d83f3ca34ddefce5dee4d502afd2fc5b.tar.xz
wil6210: abort properly in cfg suspend
On-going operations were not aborted properly and required locks were not taken. Signed-off-by: Hamad Kadmany <qca_hkadmany@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/cfg80211.c')
-rw-r--r--drivers/net/wireless/ath/wil6210/cfg80211.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c
index 85d5c04618eb..c3d3c0c0e206 100644
--- a/drivers/net/wireless/ath/wil6210/cfg80211.c
+++ b/drivers/net/wireless/ath/wil6210/cfg80211.c
@@ -1727,9 +1727,12 @@ static int wil_cfg80211_suspend(struct wiphy *wiphy,
wil_dbg_pm(wil, "suspending\n");
- wil_p2p_stop_discovery(wil);
-
+ mutex_lock(&wil->mutex);
+ mutex_lock(&wil->p2p_wdev_mutex);
+ wil_p2p_stop_radio_operations(wil);
wil_abort_scan(wil, true);
+ mutex_unlock(&wil->p2p_wdev_mutex);
+ mutex_unlock(&wil->mutex);
out:
return rc;