diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-07-09 20:45:38 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-24 15:05:10 -0400 |
commit | ec3f149017ef3fd21343b1dcec3589eec6ba5dd5 (patch) | |
tree | 9add60777190717b721cbca877e37f20bb9deb12 /net/wireless/sme.c | |
parent | b291ba11181d46dfbd2d7a5c00a5f3335228191e (diff) |
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: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/sme.c')
-rw-r--r-- | net/wireless/sme.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index d635a99dba51..10ed36621bd7 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c | |||
@@ -826,8 +826,8 @@ void cfg80211_sme_disassoc(struct net_device *dev, int idx) | |||
826 | return; | 826 | return; |
827 | 827 | ||
828 | memcpy(bssid, wdev->auth_bsses[idx]->pub.bssid, ETH_ALEN); | 828 | memcpy(bssid, wdev->auth_bsses[idx]->pub.bssid, ETH_ALEN); |
829 | if (cfg80211_mlme_deauth(rdev, dev, bssid, | 829 | if (__cfg80211_mlme_deauth(rdev, dev, bssid, |
830 | NULL, 0, WLAN_REASON_DEAUTH_LEAVING)) { | 830 | NULL, 0, WLAN_REASON_DEAUTH_LEAVING)) { |
831 | /* whatever -- assume gone anyway */ | 831 | /* whatever -- assume gone anyway */ |
832 | cfg80211_unhold_bss(wdev->auth_bsses[idx]); | 832 | cfg80211_unhold_bss(wdev->auth_bsses[idx]); |
833 | cfg80211_put_bss(&wdev->auth_bsses[idx]->pub); | 833 | cfg80211_put_bss(&wdev->auth_bsses[idx]->pub); |