summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-10 17:53:34 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-07-21 12:21:09 -0400
commit9eb83aa7c9bb6cff8bac09572758b4412bc21781 (patch)
treebf54ec7b449cbfb861c171350216fdf4281c5bb4 /net
parentc5db5ff66dc25b5263ea6914fc2491ff0ccdd39a (diff)
cfg80211: don't look at wdev->ssid for giwessid
This variable is only used internally, _while_ connected. If we use it, the sequence # iwconfig wlan1 essid foo <connects> # iwconfig wlan1 essid "" <disconnects> # iwconfig will still display "foo" as the SSID afterwards, which is obviously quite bogus. Fix this by only displaying the wext SSID, if present. 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/wext-sme.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/net/wireless/wext-sme.c b/net/wireless/wext-sme.c
index c33ea9a5de78..cd5764fd001a 100644
--- a/net/wireless/wext-sme.c
+++ b/net/wireless/wext-sme.c
@@ -209,11 +209,7 @@ int cfg80211_mgd_wext_giwessid(struct net_device *dev,
data->flags = 0;
wdev_lock(wdev);
- if (wdev->ssid_len) {
- data->flags = 1;
- data->length = wdev->ssid_len;
- memcpy(ssid, wdev->ssid, data->length);
- } else if (wdev->wext.connect.ssid && wdev->wext.connect.ssid_len) {
+ if (wdev->wext.connect.ssid && wdev->wext.connect.ssid_len) {
data->flags = 1;
data->length = wdev->wext.connect.ssid_len;
memcpy(ssid, wdev->wext.connect.ssid, data->length);