aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches/450-reload_freq_change.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-11-25 15:43:15 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-11-25 15:43:15 +0000
commit1d75f7506df7518d59b9d3c5297feb93f0828917 (patch)
tree3b0d0268e63835e64fb2d6f1ec2eebfc809a39dc /package/network/services/hostapd/patches/450-reload_freq_change.patch
parent48de8ed52aa89fd7951cee067005b97440709863 (diff)
downloadupstream-1d75f7506df7518d59b9d3c5297feb93f0828917.tar.gz
upstream-1d75f7506df7518d59b9d3c5297feb93f0828917.tar.bz2
upstream-1d75f7506df7518d59b9d3c5297feb93f0828917.zip
hostapd: update to version 2013-11-20
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 38914
Diffstat (limited to 'package/network/services/hostapd/patches/450-reload_freq_change.patch')
-rw-r--r--package/network/services/hostapd/patches/450-reload_freq_change.patch85
1 files changed, 0 insertions, 85 deletions
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) {