Move DTIM period configuration into Beacon set operation

This commit is contained in:
John W. Linville 2010-05-27 15:28:15 +00:00
parent 98ff3a375f
commit 4f1cc143ac
2 changed files with 54 additions and 1 deletions

View File

@ -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,

View File

@ -1,6 +1,6 @@
Name: hostapd
Version: 0.6.10
Release: 1%{?dist}
Release: 2%{?dist}
Summary: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Group: System Environment/Daemons
License: BSD
@ -12,6 +12,7 @@ Source2: %{name}.conf
Source3: %{name}.sysconfig
Patch0: hostapd-RPM_OPT_FLAGS.patch
Patch1: hostapd-MSG_DEBUG.patch
Patch2: hostapd-Move-DTIM-period-configuration-into-Beacon-set-operation.patch
BuildRequires: libnl-devel >= 1.1
BuildRequires: openssl-devel
@ -48,6 +49,9 @@ Logwatch scripts for hostapd
# Quiet some unnecessary console spam at startup
%patch1 -p1
# fix DTIM-setting issue w/ mac80211
%patch2 -p1
%build
cd hostapd
@ -139,6 +143,9 @@ fi
%changelog
* Thu May 27 2010 John W. Linville <linville@redhat.com> - 0.6.10-2
- Move DTIM period configuration into Beacon set operation
* Mon May 10 2010 John W. Linville <linville@redhat.com> - 0.6.10-1
- Update to version 0.6.10