mwifiex: use correct htcapinfo for HT20 ibss network
It is observed that same htcapinfo ie is included in beacon for HT20, HT40+ and HT40- ibss networks. This patch makes sure that we will not advertise 40Mhz flags while creating/joining ibss network in HT20 mode. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
fc40ca9234
Коммит
d35f1035b5
|
@ -53,7 +53,9 @@ mwifiex_fill_cap_info(struct mwifiex_private *priv, u8 radio_type,
|
|||
sizeof(sband->ht_cap.mcs));
|
||||
|
||||
if (priv->bss_mode == NL80211_IFTYPE_STATION ||
|
||||
sband->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)
|
||||
(sband->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 &&
|
||||
(priv->adapter->sec_chan_offset !=
|
||||
IEEE80211_HT_PARAM_CHA_SEC_NONE)))
|
||||
/* Set MCS32 for infra mode or ad-hoc mode with 40MHz support */
|
||||
SETHT_MCS32(ht_cap->ht_cap.mcs.rx_mask);
|
||||
|
||||
|
|
|
@ -969,6 +969,16 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
|
|||
priv->adapter->config_bands);
|
||||
mwifiex_fill_cap_info(priv, radio_type, ht_cap);
|
||||
|
||||
if (adapter->sec_chan_offset ==
|
||||
IEEE80211_HT_PARAM_CHA_SEC_NONE) {
|
||||
u16 tmp_ht_cap;
|
||||
|
||||
tmp_ht_cap = le16_to_cpu(ht_cap->ht_cap.cap_info);
|
||||
tmp_ht_cap &= ~IEEE80211_HT_CAP_SUP_WIDTH_20_40;
|
||||
tmp_ht_cap &= ~IEEE80211_HT_CAP_SGI_40;
|
||||
ht_cap->ht_cap.cap_info = cpu_to_le16(tmp_ht_cap);
|
||||
}
|
||||
|
||||
pos += sizeof(struct mwifiex_ie_types_htcap);
|
||||
cmd_append_size += sizeof(struct mwifiex_ie_types_htcap);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче