Fix CONFIG_NO_SCAN_PROCESSING=y build

ht_supported() was used but not defined in such a case.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2014-10-12 17:02:23 +03:00
parent cd3153a983
commit 3eafc494d8
4 changed files with 39 additions and 38 deletions

View file

@ -4198,6 +4198,9 @@ const char * event_to_string(enum wpa_event_type event);
/* Convert chan_width to a string for logging and control interfaces */ /* Convert chan_width to a string for logging and control interfaces */
const char * channel_width_to_string(enum chan_width width); const char * channel_width_to_string(enum chan_width width);
int ht_supported(const struct hostapd_hw_modes *mode);
int vht_supported(const struct hostapd_hw_modes *mode);
/* NULL terminated array of linked in driver wrappers */ /* NULL terminated array of linked in driver wrappers */
extern struct wpa_driver_ops *wpa_drivers[]; extern struct wpa_driver_ops *wpa_drivers[];

View file

@ -105,3 +105,39 @@ const char * channel_width_to_string(enum chan_width width)
return "unknown"; return "unknown";
} }
} }
int ht_supported(const struct hostapd_hw_modes *mode)
{
if (!(mode->flags & HOSTAPD_MODE_FLAG_HT_INFO_KNOWN)) {
/*
* The driver did not indicate whether it supports HT. Assume
* it does to avoid connection issues.
*/
return 1;
}
/*
* IEEE Std 802.11n-2009 20.1.1:
* An HT non-AP STA shall support all EQM rates for one spatial stream.
*/
return mode->mcs_set[0] == 0xff;
}
int vht_supported(const struct hostapd_hw_modes *mode)
{
if (!(mode->flags & HOSTAPD_MODE_FLAG_VHT_INFO_KNOWN)) {
/*
* The driver did not indicate whether it supports VHT. Assume
* it does to avoid connection issues.
*/
return 1;
}
/*
* A VHT non-AP STA shall support MCS 0-7 for one spatial stream.
* TODO: Verify if this complies with the standard
*/
return (mode->vht_mcs_set[0] & 0x3) != 3;
}

View file

@ -582,42 +582,6 @@ static int freq_allowed(int *freqs, int freq)
} }
int ht_supported(const struct hostapd_hw_modes *mode)
{
if (!(mode->flags & HOSTAPD_MODE_FLAG_HT_INFO_KNOWN)) {
/*
* The driver did not indicate whether it supports HT. Assume
* it does to avoid connection issues.
*/
return 1;
}
/*
* IEEE Std 802.11n-2009 20.1.1:
* An HT non-AP STA shall support all EQM rates for one spatial stream.
*/
return mode->mcs_set[0] == 0xff;
}
int vht_supported(const struct hostapd_hw_modes *mode)
{
if (!(mode->flags & HOSTAPD_MODE_FLAG_VHT_INFO_KNOWN)) {
/*
* The driver did not indicate whether it supports VHT. Assume
* it does to avoid connection issues.
*/
return 1;
}
/*
* A VHT non-AP STA shall support MCS 0-7 for one spatial stream.
* TODO: Verify if this complies with the standard
*/
return (mode->vht_mcs_set[0] & 0x3) != 3;
}
static int rate_match(struct wpa_supplicant *wpa_s, struct wpa_bss *bss) static int rate_match(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
{ {
const struct hostapd_hw_modes *mode = NULL, *modes; const struct hostapd_hw_modes *mode = NULL, *modes;

View file

@ -991,8 +991,6 @@ void wnm_bss_keep_alive_deinit(struct wpa_supplicant *wpa_s);
int wpa_supplicant_fast_associate(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_bss * wpa_supplicant_pick_network(struct wpa_supplicant *wpa_s,
struct wpa_ssid **selected_ssid); 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 */ /* eap_register.c */
int eap_register_methods(void); int eap_register_methods(void);