aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2011-09-04 04:11:32 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-14 13:56:26 -0400
commit7827493b886c307bc497a669305207f8a5b36eb2 (patch)
treee7d109fc3a2e78ee4f8ff56d79704d6280dc1c22 /net
parent28e3181a7717b7e7934391c29e21c5302324479c (diff)
mac80211: add ssid config to bss information in AP-mode
Set SSID information from nl80211 beacon parameters. Advertise changes in SSID to low level drivers. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/cfg.c19
-rw-r--r--net/mac80211/util.c2
2 files changed, 20 insertions, 1 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 5c0d8fab0e88..b57ddf941e59 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -455,6 +455,20 @@ static int ieee80211_get_station(struct wiphy *wiphy, struct net_device *dev,
455 return ret; 455 return ret;
456} 456}
457 457
458static void ieee80211_config_ap_ssid(struct ieee80211_sub_if_data *sdata,
459 struct beacon_parameters *params)
460{
461 struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
462
463 bss_conf->ssid_len = params->ssid_len;
464
465 if (params->ssid_len)
466 memcpy(bss_conf->ssid, params->ssid, params->ssid_len);
467
468 bss_conf->hidden_ssid =
469 (params->hidden_ssid != NL80211_HIDDEN_SSID_NOT_IN_USE);
470}
471
458/* 472/*
459 * This handles both adding a beacon and setting new beacon info 473 * This handles both adding a beacon and setting new beacon info
460 */ 474 */
@@ -548,8 +562,11 @@ static int ieee80211_config_beacon(struct ieee80211_sub_if_data *sdata,
548 562
549 kfree(old); 563 kfree(old);
550 564
565 ieee80211_config_ap_ssid(sdata, params);
566
551 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED | 567 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED |
552 BSS_CHANGED_BEACON); 568 BSS_CHANGED_BEACON |
569 BSS_CHANGED_SSID);
553 return 0; 570 return 0;
554} 571}
555 572
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 1c1080274730..4b1466d5b6a1 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1077,6 +1077,8 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1077 changed |= BSS_CHANGED_IBSS; 1077 changed |= BSS_CHANGED_IBSS;
1078 /* fall through */ 1078 /* fall through */
1079 case NL80211_IFTYPE_AP: 1079 case NL80211_IFTYPE_AP:
1080 changed |= BSS_CHANGED_SSID;
1081 /* fall through */
1080 case NL80211_IFTYPE_MESH_POINT: 1082 case NL80211_IFTYPE_MESH_POINT:
1081 changed |= BSS_CHANGED_BEACON | 1083 changed |= BSS_CHANGED_BEACON |
1082 BSS_CHANGED_BEACON_ENABLED; 1084 BSS_CHANGED_BEACON_ENABLED;