Update supported channel width set (HT40) after channel switch
hostapd should update Supported Channel Width Set of HT Capability Information field after channel switching done. Otherwise, it would continue to use the old setting. Signed-off-by: peterhuang <peterhuang@realtek.com>
This commit is contained in:
parent
ff7e403f06
commit
bc24a8a09e
2 changed files with 20 additions and 0 deletions
|
@ -957,6 +957,12 @@ void hostapd_event_ch_switch(struct hostapd_data *hapd, int freq, int ht,
|
|||
hapd->iconf->ch_switch_vht_config = 0;
|
||||
hapd->iconf->ch_switch_he_config = 0;
|
||||
|
||||
if (width == CHAN_WIDTH_40 || width == CHAN_WIDTH_80 ||
|
||||
width == CHAN_WIDTH_80P80 || width == CHAN_WIDTH_160)
|
||||
hapd->iconf->ht_capab |= HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET;
|
||||
else if (width == CHAN_WIDTH_20 || width == CHAN_WIDTH_20_NOHT)
|
||||
hapd->iconf->ht_capab &= ~HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET;
|
||||
|
||||
hapd->iconf->secondary_channel = offset;
|
||||
hostapd_set_oper_chwidth(hapd->iconf, chwidth);
|
||||
hostapd_set_oper_centr_freq_seg0_idx(hapd->iconf, seg0_idx);
|
||||
|
|
|
@ -3461,6 +3461,20 @@ static int hostapd_change_config_freq(struct hostapd_data *hapd,
|
|||
NULL))
|
||||
return -1;
|
||||
|
||||
switch (params->bandwidth) {
|
||||
case 0:
|
||||
case 20:
|
||||
conf->ht_capab &= ~HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET;
|
||||
break;
|
||||
case 40:
|
||||
case 80:
|
||||
case 160:
|
||||
conf->ht_capab |= HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET;
|
||||
break;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
||||
switch (params->bandwidth) {
|
||||
case 0:
|
||||
case 20:
|
||||
|
|
Loading…
Reference in a new issue