summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhu Yi <yi.zhu@intel.com>2009-08-05 07:07:13 (GMT)
committerJohn W. Linville <linville@tuxdriver.com>2009-08-14 13:12:41 (GMT)
commita42dd7efd934888833c01199dbd21b242100ee92 (patch)
treee16e5a19a0b0ad38261794a16f21b13c7ea1ad7a
parentbedaf80866f5d438b47d05e02fb1852065fe5d8e (diff)
downloadlinux-a42dd7efd934888833c01199dbd21b242100ee92.tar.xz
wireless: display wext SSID when connected by cfg80211
cfg80211 displays correct link info when connected by wext. But if the connection is setup by cfg80211, wext cannot display the SSID. This patch fixed this issue. Cc: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-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 7bacbd1..e4a054a 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,
data->flags = 0;
wdev_lock(wdev);
- if (wdev->wext.connect.ssid && wdev->wext.connect.ssid_len) {
+ if (wdev->current_bss) {
+ const u8 *ie = ieee80211_bss_get_ie(&wdev->current_bss->pub,
+ WLAN_EID_SSID);
+ if (ie) {
+ data->flags = 1;
+ data->length = ie[1];
+ memcpy(ssid, ie + 2, data->length);
+ }
+ } else 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);