Added option to distinguish non-HT and HT20 in set_freq
This commit is contained in:
parent
95da9bbc36
commit
fe0f58fa69
3 changed files with 8 additions and 1 deletions
|
@ -30,6 +30,7 @@ struct hostapd_sta_add_params {
|
||||||
struct hostapd_freq_params {
|
struct hostapd_freq_params {
|
||||||
int mode;
|
int mode;
|
||||||
int freq;
|
int freq;
|
||||||
|
int ht_enabled;
|
||||||
int sec_channel_offset; /* 0 = HT40 disabled, -1 = HT40 enabled,
|
int sec_channel_offset; /* 0 = HT40 disabled, -1 = HT40 enabled,
|
||||||
* secondary channel below primary, 1 = HT40
|
* secondary channel below primary, 1 = HT40
|
||||||
* enabled, secondary channel above primary */
|
* enabled, secondary channel above primary */
|
||||||
|
@ -431,7 +432,7 @@ hostapd_get_inact_sec(struct hostapd_data *hapd, const u8 *addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
hostapd_set_freq(struct hostapd_data *hapd, int mode, int freq,
|
hostapd_set_freq(struct hostapd_data *hapd, int mode, int freq, int ht_enabled,
|
||||||
int sec_channel_offset)
|
int sec_channel_offset)
|
||||||
{
|
{
|
||||||
if (hapd->driver == NULL)
|
if (hapd->driver == NULL)
|
||||||
|
@ -441,6 +442,7 @@ hostapd_set_freq(struct hostapd_data *hapd, int mode, int freq,
|
||||||
os_memset(&data, 0, sizeof(data));
|
os_memset(&data, 0, sizeof(data));
|
||||||
data.mode = mode;
|
data.mode = mode;
|
||||||
data.freq = freq;
|
data.freq = freq;
|
||||||
|
data.ht_enabled = ht_enabled;
|
||||||
data.sec_channel_offset = sec_channel_offset;
|
data.sec_channel_offset = sec_channel_offset;
|
||||||
return hapd->driver->set_freq2(hapd->drv_priv, &data);
|
return hapd->driver->set_freq2(hapd->drv_priv, &data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -485,6 +485,10 @@ static int i802_set_freq2(void *priv, struct hostapd_freq_params *freq)
|
||||||
NLA_PUT_U8(msg, NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET,
|
NLA_PUT_U8(msg, NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET,
|
||||||
NL80211_SEC_CHAN_ABOVE);
|
NL80211_SEC_CHAN_ABOVE);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
NLA_PUT_U8(msg, NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET,
|
||||||
|
NL80211_SEC_CHAN_DISABLED);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (send_and_recv_msgs(drv, msg, NULL, NULL) == 0)
|
if (send_and_recv_msgs(drv, msg, NULL, NULL) == 0)
|
||||||
|
|
|
@ -1554,6 +1554,7 @@ static int setup_interface(struct hostapd_iface *iface)
|
||||||
hapd->iconf->channel, freq);
|
hapd->iconf->channel, freq);
|
||||||
|
|
||||||
if (hostapd_set_freq(hapd, hapd->iconf->hw_mode, freq,
|
if (hostapd_set_freq(hapd, hapd->iconf->hw_mode, freq,
|
||||||
|
hapd->iconf->ieee80211n,
|
||||||
hapd->iconf->secondary_channel)) {
|
hapd->iconf->secondary_channel)) {
|
||||||
printf("Could not set channel for kernel driver\n");
|
printf("Could not set channel for kernel driver\n");
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in a new issue