From 53a6c36b5549bb592bea557d810a3fa0f513145d Mon Sep 17 00:00:00 2001 From: Tomas Winkler Date: Tue, 25 Nov 2008 13:05:44 +0200 Subject: [PATCH] --- yaml --- r: 122467 b: refs/heads/master c: 8e268e47b8ca5bddd189320884c3cc7d9ae489f4 h: refs/heads/master i: 122465: af8f4b5f7e59378743aa8601348b166a4e57fc9e 122463: 49600d7c854439377d0ea98be52bcb013613810b v: v3 --- [refs] | 2 +- trunk/net/mac80211/mlme.c | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 848efdfa6e7c..95e9f8aa9d37 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e327b847e67051ece8d121f9aebeb4d736c36a02 +refs/heads/master: 8e268e47b8ca5bddd189320884c3cc7d9ae489f4 diff --git a/trunk/net/mac80211/mlme.c b/trunk/net/mac80211/mlme.c index 7600ac9b87fe..806d3ded98bd 100644 --- a/trunk/net/mac80211/mlme.c +++ b/trunk/net/mac80211/mlme.c @@ -855,16 +855,26 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata, if (self_disconnected || reason == WLAN_REASON_DISASSOC_STA_HAS_LEFT) ifsta->state = IEEE80211_STA_MLME_DISABLED; - sta_info_unlink(&sta); - rcu_read_unlock(); - sta_info_destroy(sta); - local->hw.conf.ht.enabled = false; ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_HT); ieee80211_bss_info_change_notify(sdata, changed); + + rcu_read_lock(); + + sta = sta_info_get(local, ifsta->bssid); + if (!sta) { + rcu_read_unlock(); + return; + } + + sta_info_unlink(&sta); + + rcu_read_unlock(); + + sta_info_destroy(sta); } static int ieee80211_sta_wep_configured(struct ieee80211_sub_if_data *sdata)