diff options
author | Sven Wegener <sven.wegener@inovex.de> | 2016-07-13 20:37:39 +0000 |
---|---|---|
committer | Sven Wegener <sven.wegener@inovex.de> | 2016-07-14 06:36:47 +0000 |
commit | 49041120b755d7c6519d00e588ce85c0bd75192a (patch) | |
tree | 4741e5b656687f443d06f46602abe6a70e198301 | |
parent | 8c596d17b461638be9b12d096e8274b6bd3dd6b6 (diff) |
nl80211: Store ssid on successful associationnl80211-ssid-association
-rw-r--r-- | net/wireless/nl80211.c | 6 |
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; } |