summaryrefslogtreecommitdiff
path: root/net/mac80211/wext.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/wext.c')
-rw-r--r--net/mac80211/wext.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c
index 63f36e9d1af8..231cab57351f 100644
--- a/net/mac80211/wext.c
+++ b/net/mac80211/wext.c
@@ -407,6 +407,13 @@ static int ieee80211_ioctl_siwessid(struct net_device *dev,
return 0;
}
+ if (sdata->vif.type == NL80211_IFTYPE_AP) {
+ memcpy(sdata->u.ap.ssid, ssid, len);
+ memset(sdata->u.ap.ssid + len, 0,
+ IEEE80211_MAX_SSID_LEN - len);
+ sdata->u.ap.ssid_len = len;
+ return ieee80211_if_config(sdata, IEEE80211_IFCC_SSID);
+ }
return -EOPNOTSUPP;
}
@@ -430,6 +437,15 @@ static int ieee80211_ioctl_giwessid(struct net_device *dev,
return res;
}
+ if (sdata->vif.type == NL80211_IFTYPE_AP) {
+ len = sdata->u.ap.ssid_len;
+ if (len > IW_ESSID_MAX_SIZE)
+ len = IW_ESSID_MAX_SIZE;
+ memcpy(ssid, sdata->u.ap.ssid, len);
+ data->length = len;
+ data->flags = 1;
+ return 0;
+ }
return -EOPNOTSUPP;
}