aboutsummaryrefslogtreecommitdiffstats
path: root/package/hostapd/patches/450-reload_freq_change.patch
blob: 9245860d1e548e022300c9f490b7a4471d3c80bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -137,6 +137,20 @@ int hostapd_reload_config(struct hostapd
 	oldconf = hapd->iconf;
 	iface->conf = newconf;
 
+	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);
+
 	for (j = 0; j < iface->num_bss; j++) {
 		hapd = iface->bss[j];
 		hapd->iconf = newconf;