diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-07-10 17:53:34 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-24 15:05:11 -0400 |
commit | 908d4369a394e816767d566d9c3d15a5af8c1c55 (patch) | |
tree | a1aa369a55a6f998109448cdb6dbbcf77ff9b5f0 /net/wireless/wext-sme.c | |
parent | 4b14c96dfbf068acb85c3fa2446b3949c0230deb (diff) | |
download | linux-908d4369a394e816767d566d9c3d15a5af8c1c55.tar.gz linux-908d4369a394e816767d566d9c3d15a5af8c1c55.tar.bz2 linux-908d4369a394e816767d566d9c3d15a5af8c1c55.zip |
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/wireless/wext-sme.c')
-rw-r--r-- | net/wireless/wext-sme.c | 6 |
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); |