summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <sven.wegener@inovex.de>2016-07-13 20:37:39 +0000
committerSven Wegener <sven.wegener@inovex.de>2016-07-14 06:36:47 +0000
commit49041120b755d7c6519d00e588ce85c0bd75192a (patch)
tree4741e5b656687f443d06f46602abe6a70e198301
parent8c596d17b461638be9b12d096e8274b6bd3dd6b6 (diff)
nl80211: Store ssid on successful associationnl80211-ssid-association
-rw-r--r--net/wireless/nl80211.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index ab62d305b48b..a784157a171e 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -7293,6 +7293,10 @@ static int nl80211_associate(struct sk_buff *skb, struct genl_info *info)
wdev_lock(dev->ieee80211_ptr);
err = cfg80211_mlme_assoc(rdev, dev, chan, bssid,
ssid, ssid_len, &req);
+ if (!err) {
+ dev->ieee80211_ptr->ssid_len = ssid_len;
+ memcpy(dev->ieee80211_ptr->ssid, ssid, ssid_len);
+ }
wdev_unlock(dev->ieee80211_ptr);
}
@@ -7389,6 +7393,8 @@ static int nl80211_disassociate(struct sk_buff *skb, struct genl_info *info)
wdev_lock(dev->ieee80211_ptr);
err = cfg80211_mlme_disassoc(rdev, dev, bssid, ie, ie_len, reason_code,
local_state_change);
+ if (!err)
+ dev->ieee80211_ptr->ssid_len = 0;
wdev_unlock(dev->ieee80211_ptr);
return err;
}