From: Hamad Kadmany Date: Tue, 14 Nov 2017 13:25:36 +0000 (+0200) Subject: wil6210: abort properly in cfg suspend X-Git-Tag: v4.16-rc1~123^2~329^2^2~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=144a12a6d83f3ca34ddefce5dee4d502afd2fc5b;p=thirdparty%2Fkernel%2Flinux.git wil6210: abort properly in cfg suspend On-going operations were not aborted properly and required locks were not taken. Signed-off-by: Hamad Kadmany Signed-off-by: Maya Erez Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c index 85d5c04618ebc..c3d3c0c0e206a 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;