summaryrefslogtreecommitdiff
path: root/network/hostapd/DTIM.patch
diff options
context:
space:
mode:
Diffstat (limited to 'network/hostapd/DTIM.patch')
-rw-r--r--network/hostapd/DTIM.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/network/hostapd/DTIM.patch b/network/hostapd/DTIM.patch
new file mode 100644
index 0000000000..e19555e1ef
--- /dev/null
+++ b/network/hostapd/DTIM.patch
@@ -0,0 +1,46 @@
+commit 8fac32f5efa7a7c3fc6eee8d3723a09e7abe27fa
+Author: Jouni Malinen <jouni.malinen@atheros.com>
+Date: Thu Mar 12 21:57:08 2009 +0200
+
+ 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)
+
+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,