2010-10-24 07:39:54 +08:00
|
|
|
--- a/src/ap/hostapd.c
|
|
|
|
+++ b/src/ap/hostapd.c
|
2013-04-22 21:24:48 +08:00
|
|
|
@@ -156,6 +156,24 @@ int hostapd_reload_config(struct hostapd
|
2010-10-24 07:39:54 +08:00
|
|
|
oldconf = hapd->iconf;
|
|
|
|
iface->conf = newconf;
|
|
|
|
|
2012-08-30 00:06:24 +08:00
|
|
|
+ hostapd_select_hw_mode(iface);
|
|
|
|
+ iface->freq = hostapd_hw_get_freq(hapd, newconf->channel);
|
|
|
|
+
|
|
|
|
+ if (hostapd_set_freq(hapd, newconf->hw_mode, iface->freq,
|
|
|
|
+ newconf->channel,
|
|
|
|
+ newconf->ieee80211n,
|
2013-03-05 01:16:38 +08:00
|
|
|
+ newconf->ieee80211ac,
|
|
|
|
+ newconf->secondary_channel,
|
|
|
|
+ newconf->vht_oper_chwidth,
|
|
|
|
+ newconf->vht_oper_centr_freq_seg0_idx,
|
|
|
|
+ newconf->vht_oper_centr_freq_seg1_idx)) {
|
2012-08-30 00:06:24 +08:00
|
|
|
+ wpa_printf(MSG_ERROR, "Could not set channel for "
|
|
|
|
+ "kernel driver");
|
|
|
|
+ }
|
|
|
|
+
|
2010-10-24 07:39:54 +08:00
|
|
|
+ if (iface->current_mode)
|
2012-03-27 18:42:47 +08:00
|
|
|
+ hostapd_prepare_rates(iface, iface->current_mode);
|
2010-10-24 07:39:54 +08:00
|
|
|
+
|
|
|
|
for (j = 0; j < iface->num_bss; j++) {
|
|
|
|
hapd = iface->bss[j];
|
|
|
|
hapd->iconf = newconf;
|