Commit ec3f1490 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville

cfg80211: fix a locking bug

The cfg80211_sme_disassoc() function is already holding
a lock here that cfg80211_mlme_deauth() would take, so
it needs to use __cfg80211_mlme_deauth() instead.
Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b291ba11
...@@ -826,8 +826,8 @@ void cfg80211_sme_disassoc(struct net_device *dev, int idx) ...@@ -826,8 +826,8 @@ void cfg80211_sme_disassoc(struct net_device *dev, int idx)
return; return;
memcpy(bssid, wdev->auth_bsses[idx]->pub.bssid, ETH_ALEN); memcpy(bssid, wdev->auth_bsses[idx]->pub.bssid, ETH_ALEN);
if (cfg80211_mlme_deauth(rdev, dev, bssid, if (__cfg80211_mlme_deauth(rdev, dev, bssid,
NULL, 0, WLAN_REASON_DEAUTH_LEAVING)) { NULL, 0, WLAN_REASON_DEAUTH_LEAVING)) {
/* whatever -- assume gone anyway */ /* whatever -- assume gone anyway */
cfg80211_unhold_bss(wdev->auth_bsses[idx]); cfg80211_unhold_bss(wdev->auth_bsses[idx]);
cfg80211_put_bss(&wdev->auth_bsses[idx]->pub); cfg80211_put_bss(&wdev->auth_bsses[idx]->pub);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment