summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-10 02:45:38 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-07-24 15:05:10 -0400
commitec3f149017ef3fd21343b1dcec3589eec6ba5dd5 (patch)
tree9add60777190717b721cbca877e37f20bb9deb12 /net
parentb291ba11181d46dfbd2d7a5c00a5f3335228191e (diff)
downloadkernel-crypto-ec3f149017ef3fd21343b1dcec3589eec6ba5dd5.tar.gz
kernel-crypto-ec3f149017ef3fd21343b1dcec3589eec6ba5dd5.tar.xz
kernel-crypto-ec3f149017ef3fd21343b1dcec3589eec6ba5dd5.zip
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')
-rw-r--r--net/wireless/sme.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index d635a99dba5..10ed36621bd 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)
return;
memcpy(bssid, wdev->auth_bsses[idx]->pub.bssid, ETH_ALEN);
- if (cfg80211_mlme_deauth(rdev, dev, bssid,
- NULL, 0, WLAN_REASON_DEAUTH_LEAVING)) {
+ if (__cfg80211_mlme_deauth(rdev, dev, bssid,
+ NULL, 0, WLAN_REASON_DEAUTH_LEAVING)) {
/* whatever -- assume gone anyway */
cfg80211_unhold_bss(wdev->auth_bsses[idx]);
cfg80211_put_bss(&wdev->auth_bsses[idx]->pub);