aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2009-03-12 19:57:08 (GMT)
committerJouni Malinen <j@w1.fi>2010-02-20 18:04:49 (GMT)
commit8fac32f5efa7a7c3fc6eee8d3723a09e7abe27fa (patch)
treea0d8cdca0ec218ebb6eba1418098bf58110b7f42
parentd36bac2b867f3276842ea049bddda6604856e1fb (diff)
downloadhostap-06-8fac32f5efa7a7c3fc6eee8d3723a09e7abe27fa.zip
hostap-06-8fac32f5efa7a7c3fc6eee8d3723a09e7abe27fa.tar.gz
hostap-06-8fac32f5efa7a7c3fc6eee8d3723a09e7abe27fa.tar.bz2
Move DTIM period configuration into Beacon set operation
This is needed to make mac80211 work with multi-BSS configuration. The previous design ended up setting DTIM period for secondary BSSes before setting the Beacon and driver_nl80211.c was not really prepared for that. Eventually, the Beacon configuration routines should be combined into a single driver operation, but for now, just moving this call is the simplest workaround. (cherry picked from commit eb1f7446b5b86cceb1508f060f5e66e5dd791a4d)
-rw-r--r--hostapd/beacon.c4
-rw-r--r--hostapd/hostapd.c6
2 files changed, 4 insertions, 6 deletions
diff --git a/hostapd/beacon.c b/hostapd/beacon.c
index 1f82d9c..0a192fe 100644
--- a/hostapd/beacon.c
+++ b/hostapd/beacon.c
@@ -434,6 +434,10 @@ void ieee802_11_set_beacon(struct hostapd_data *hapd)
os_free(tail);
os_free(head);
+ if (hostapd_set_dtim_period(hapd, hapd->conf->dtim_period))
+ wpa_printf(MSG_ERROR, "Could not set DTIM period for kernel "
+ "driver");
+
if (hostapd_set_cts_protect(hapd, cts_protection))
wpa_printf(MSG_ERROR, "Failed to set CTS protect in kernel "
"driver");
diff --git a/hostapd/hostapd.c b/hostapd/hostapd.c
index 3fbd3d0..7ed1720 100644
--- a/hostapd/hostapd.c
+++ b/hostapd/hostapd.c
@@ -1376,12 +1376,6 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
return -1;
}
- if (hostapd_set_dtim_period(hapd, hapd->conf->dtim_period)) {
- wpa_printf(MSG_ERROR, "Could not set DTIM period for kernel "
- "driver");
- return -1;
- }
-
/* Set SSID for the kernel driver (to be used in beacon and probe
* response frames) */
if (set_ssid && hostapd_set_ssid(hapd, (u8 *) conf->ssid.ssid,