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.
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");
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,