diff options
author | Arik Nemtsov <arik@wizery.com> | 2011-09-04 04:11:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-14 13:56:26 -0400 |
commit | 7827493b886c307bc497a669305207f8a5b36eb2 (patch) | |
tree | e7d109fc3a2e78ee4f8ff56d79704d6280dc1c22 /net | |
parent | 28e3181a7717b7e7934391c29e21c5302324479c (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.c | 19 | ||||
-rw-r--r-- | net/mac80211/util.c | 2 |
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 | ||
458 | static 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; |