aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/wext-sme.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/net/wireless/wext-sme.c b/net/wireless/wext-sme.c
index 7bacbd1c2af..e4a054aceb5 100644
--- a/net/wireless/wext-sme.c
+++ b/net/wireless/wext-sme.c
@@ -206,7 +206,15 @@ int cfg80211_mgd_wext_giwessid(struct net_device *dev,
206 data->flags = 0; 206 data->flags = 0;
207 207
208 wdev_lock(wdev); 208 wdev_lock(wdev);
209 if (wdev->wext.connect.ssid && wdev->wext.connect.ssid_len) { 209 if (wdev->current_bss) {
210 const u8 *ie = ieee80211_bss_get_ie(&wdev->current_bss->pub,
211 WLAN_EID_SSID);
212 if (ie) {
213 data->flags = 1;
214 data->length = ie[1];
215 memcpy(ssid, ie + 2, data->length);
216 }
217 } else if (wdev->wext.connect.ssid && wdev->wext.connect.ssid_len) {
210 data->flags = 1; 218 data->flags = 1;
211 data->length = wdev->wext.connect.ssid_len; 219 data->length = wdev->wext.connect.ssid_len;
212 memcpy(ssid, wdev->wext.connect.ssid, data->length); 220 memcpy(ssid, wdev->wext.connect.ssid, data->length);