DFS: Change vht_capab according to user requested bandwidth
There are different CHAN_SWITCH flows for DFS and non-DFS channels. Non-DFS one saves previous BW value in iface->conf, but DFS flow replaces it with a new user requested value. Setting a non-DFS channel after a DFS one with BW = 160 would have resulted in a mismatch between the saved BW and vht_capab (if VHT160 was not included by default). This would have led to a check fail in the hostapd_set_freq_params() function. Signed-off-by: Dmitrijs Martinovs <dmartinovs@maxlinear.com>
This commit is contained in:
parent
9579d4eff9
commit
7dd7ae965a
1 changed files with 6 additions and 2 deletions
|
@ -4103,13 +4103,17 @@ hostapd_switch_channel_fallback(struct hostapd_iface *iface,
|
||||||
bw = CONF_OPER_CHWIDTH_USE_HT;
|
bw = CONF_OPER_CHWIDTH_USE_HT;
|
||||||
break;
|
break;
|
||||||
case 80:
|
case 80:
|
||||||
if (freq_params->center_freq2)
|
if (freq_params->center_freq2) {
|
||||||
bw = CONF_OPER_CHWIDTH_80P80MHZ;
|
bw = CONF_OPER_CHWIDTH_80P80MHZ;
|
||||||
else
|
iface->conf->vht_capab |=
|
||||||
|
VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ;
|
||||||
|
} else {
|
||||||
bw = CONF_OPER_CHWIDTH_80MHZ;
|
bw = CONF_OPER_CHWIDTH_80MHZ;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 160:
|
case 160:
|
||||||
bw = CONF_OPER_CHWIDTH_160MHZ;
|
bw = CONF_OPER_CHWIDTH_160MHZ;
|
||||||
|
iface->conf->vht_capab |= VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
|
||||||
break;
|
break;
|
||||||
case 320:
|
case 320:
|
||||||
bw = CONF_OPER_CHWIDTH_320MHZ;
|
bw = CONF_OPER_CHWIDTH_320MHZ;
|
||||||
|
|
Loading…
Reference in a new issue