diff options
Diffstat (limited to 'package/hostapd/patches/450-reload_freq_change.patch')
-rw-r--r-- | package/hostapd/patches/450-reload_freq_change.patch | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/package/hostapd/patches/450-reload_freq_change.patch b/package/hostapd/patches/450-reload_freq_change.patch index b83410be3a..9245860d1e 100644 --- a/package/hostapd/patches/450-reload_freq_change.patch +++ b/package/hostapd/patches/450-reload_freq_change.patch @@ -1,10 +1,20 @@ --- a/src/ap/hostapd.c +++ b/src/ap/hostapd.c -@@ -137,6 +137,10 @@ int hostapd_reload_config(struct hostapd +@@ -137,6 +137,20 @@ int hostapd_reload_config(struct hostapd oldconf = hapd->iconf; iface->conf = newconf; -+ iface->freq = hostapd_hw_get_freq(hapd, hapd->iconf->channel); ++ 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, ++ newconf->secondary_channel)) { ++ wpa_printf(MSG_ERROR, "Could not set channel for " ++ "kernel driver"); ++ } ++ + if (iface->current_mode) + hostapd_prepare_rates(iface, iface->current_mode); + |