wpa_supplicant: Enable HT for IBSS

Enable HT20 for IBSS when HT is supported by the driver.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
This commit is contained in:
Janusz Dziedzic 2014-10-01 09:52:54 +02:00 committed by Jouni Malinen
parent 4ec68377ef
commit dc152f32b4
3 changed files with 20 additions and 3 deletions

View file

@ -582,7 +582,7 @@ static int freq_allowed(int *freqs, int freq)
}
static int ht_supported(const struct hostapd_hw_modes *mode)
int ht_supported(const struct hostapd_hw_modes *mode)
{
if (!(mode->flags & HOSTAPD_MODE_FLAG_HT_INFO_KNOWN)) {
/*
@ -600,7 +600,7 @@ static int ht_supported(const struct hostapd_hw_modes *mode)
}
static int vht_supported(const struct hostapd_hw_modes *mode)
int vht_supported(const struct hostapd_hw_modes *mode)
{
if (!(mode->flags & HOSTAPD_MODE_FLAG_VHT_INFO_KNOWN)) {
/*

View file

@ -1851,9 +1851,24 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit)
}
if (ssid->mode == WPAS_MODE_IBSS && ssid->frequency > 0 &&
params.freq.freq == 0)
params.freq.freq == 0) {
enum hostapd_hw_mode hw_mode;
u8 channel;
params.freq.freq = ssid->frequency;
hw_mode = ieee80211_freq_to_chan(ssid->frequency, &channel);
for (i = 0; wpa_s->hw.modes && i < wpa_s->hw.num_modes; i++) {
if (wpa_s->hw.modes[i].mode == hw_mode) {
struct hostapd_hw_modes *mode;
mode = &wpa_s->hw.modes[i];
params.freq.ht_enabled = ht_supported(mode);
break;
}
}
}
if (ssid->mode == WPAS_MODE_IBSS) {
if (ssid->beacon_int)
params.beacon_int = ssid->beacon_int;

View file

@ -989,6 +989,8 @@ void wnm_bss_keep_alive_deinit(struct wpa_supplicant *wpa_s);
int wpa_supplicant_fast_associate(struct wpa_supplicant *wpa_s);
struct wpa_bss * wpa_supplicant_pick_network(struct wpa_supplicant *wpa_s,
struct wpa_ssid **selected_ssid);
int ht_supported(const struct hostapd_hw_modes *mode);
int vht_supported(const struct hostapd_hw_modes *mode);
/* eap_register.c */
int eap_register_methods(void);