From ca79385ab582dfe716d2fb9520b945bd5fa6bbec Mon Sep 17 00:00:00 2001 From: Yi Zhu Date: Thu, 14 Apr 2011 22:22:24 +0300 Subject: [PATCH] bsd: Add support for setting HT values in IFM_MMASK --- src/drivers/driver_bsd.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/drivers/driver_bsd.c b/src/drivers/driver_bsd.c index dc3e26499..1b52865ea 100644 --- a/src/drivers/driver_bsd.c +++ b/src/drivers/driver_bsd.c @@ -536,12 +536,21 @@ bsd_set_freq(void *priv, struct hostapd_freq_params *freq) u32 mode; int channel = freq->channel; - if (channel < 14) - mode = IFM_IEEE80211_11G; - else if (channel == 14) + if (channel < 14) { + mode = +#ifdef CONFIG_IEEE80211N + freq->ht_enabled ? IFM_IEEE80211_11NG : +#endif /* CONFIG_IEEE80211N */ + IFM_IEEE80211_11G; + } else if (channel == 14) { mode = IFM_IEEE80211_11B; - else - mode = IFM_IEEE80211_11A; + } else { + mode = +#ifdef CONFIG_IEEE80211N + freq->ht_enabled ? IFM_IEEE80211_11NA : +#endif /* CONFIG_IEEE80211N */ + IFM_IEEE80211_11A; + } if (bsd_set_mediaopt(drv, IFM_MMASK, mode) < 0) { wpa_printf(MSG_ERROR, "%s: failed to set modulation mode", __func__);