From b6634a523b6cfba060ee31c3d5247c46f4dd07c4 Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 25 Nov 2013 15:43:15 +0000 Subject: hostapd: update to version 2013-11-20 Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38914 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../hostapd/patches/450-reload_freq_change.patch | 85 ---------------------- 1 file changed, 85 deletions(-) delete mode 100644 package/network/services/hostapd/patches/450-reload_freq_change.patch (limited to 'package/network/services/hostapd/patches/450-reload_freq_change.patch') diff --git a/package/network/services/hostapd/patches/450-reload_freq_change.patch b/package/network/services/hostapd/patches/450-reload_freq_change.patch deleted file mode 100644 index e981375692..0000000000 --- a/package/network/services/hostapd/patches/450-reload_freq_change.patch +++ /dev/null @@ -1,85 +0,0 @@ ---- a/src/ap/hostapd.c -+++ b/src/ap/hostapd.c -@@ -133,38 +133,51 @@ static void hostapd_clear_old(struct hos - int hostapd_reload_config(struct hostapd_iface *iface) - { - struct hostapd_data *hapd = iface->bss[0]; -- struct hostapd_config *newconf, *oldconf; -+ struct hostapd_config *conf = hapd->iconf, *oldconf = NULL; - size_t j; - -- if (iface->config_fname == NULL) { -- /* Only in-memory config in use - assume it has been updated */ -+ if (iface->config_fname) { -+ if (iface->interfaces == NULL || -+ iface->interfaces->config_read_cb == NULL) -+ return -1; -+ conf = iface->interfaces->config_read_cb(iface->config_fname); -+ if (conf == NULL) -+ return -1; -+ - hostapd_clear_old(iface); -- for (j = 0; j < iface->num_bss; j++) -- hostapd_reload_bss(iface->bss[j]); -- return 0; -- } - -- if (iface->interfaces == NULL || -- iface->interfaces->config_read_cb == NULL) -- return -1; -- newconf = iface->interfaces->config_read_cb(iface->config_fname); -- if (newconf == NULL) -- return -1; -+ oldconf = hapd->iconf; -+ iface->conf = conf; -+ } - -- hostapd_clear_old(iface); -+ hostapd_select_hw_mode(iface); -+ iface->freq = hostapd_hw_get_freq(hapd, conf->channel); - -- oldconf = hapd->iconf; -- iface->conf = newconf; -+ if (iface->current_mode) -+ hostapd_prepare_rates(iface, iface->current_mode); - - for (j = 0; j < iface->num_bss; j++) { - hapd = iface->bss[j]; -- hapd->iconf = newconf; -- hapd->conf = &newconf->bss[j]; -+ hapd->iconf = iface->conf; -+ hapd->conf = &iface->conf->bss[j]; -+ -+ if (hostapd_set_freq(hapd, conf->hw_mode, iface->freq, -+ conf->channel, -+ conf->ieee80211n, -+ conf->ieee80211ac, -+ conf->secondary_channel, -+ conf->vht_oper_chwidth, -+ conf->vht_oper_centr_freq_seg0_idx, -+ conf->vht_oper_centr_freq_seg1_idx)) { -+ wpa_printf(MSG_ERROR, "Could not set channel for " -+ "kernel driver"); -+ } -+ - hostapd_reload_bss(hapd); - } - -- hostapd_config_free(oldconf); -- -+ if (oldconf) -+ hostapd_config_free(oldconf); - - return 0; - } ---- a/src/drivers/driver_nl80211.c -+++ b/src/drivers/driver_nl80211.c -@@ -6511,7 +6511,7 @@ static int wpa_driver_nl80211_set_freq(s - - nl80211_cmd(drv, msg, 0, NL80211_CMD_SET_WIPHY); - -- NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, drv->ifindex); -+ NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, bss->ifindex); - NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_FREQ, freq->freq); - if (freq->vht_enabled) { - switch (freq->bandwidth) { -- cgit v1.2.3