diff options
author | Amitkumar Karwar <akarwar@marvell.com> | 2013-01-02 19:56:00 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-01-07 15:16:59 -0500 |
commit | d35f1035b53e92167a8231e15121dd10f4aa8edd (patch) | |
tree | f786fc530a2e067267dddd8a49f070e67da21c77 /drivers/net/wireless/mwifiex | |
parent | fc40ca92344a4e4a45bf916cf067e92085b881ea (diff) |
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>
Diffstat (limited to 'drivers/net/wireless/mwifiex')
-rw-r--r-- | drivers/net/wireless/mwifiex/11n.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/join.c | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/11n.c b/drivers/net/wireless/mwifiex/11n.c index 245a371f1a43..9cd6216c61e6 100644 --- a/drivers/net/wireless/mwifiex/11n.c +++ b/drivers/net/wireless/mwifiex/11n.c | |||
@@ -53,7 +53,9 @@ mwifiex_fill_cap_info(struct mwifiex_private *priv, u8 radio_type, | |||
53 | sizeof(sband->ht_cap.mcs)); | 53 | sizeof(sband->ht_cap.mcs)); |
54 | 54 | ||
55 | if (priv->bss_mode == NL80211_IFTYPE_STATION || | 55 | if (priv->bss_mode == NL80211_IFTYPE_STATION || |
56 | sband->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) | 56 | (sband->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 && |
57 | (priv->adapter->sec_chan_offset != | ||
58 | IEEE80211_HT_PARAM_CHA_SEC_NONE))) | ||
57 | /* Set MCS32 for infra mode or ad-hoc mode with 40MHz support */ | 59 | /* Set MCS32 for infra mode or ad-hoc mode with 40MHz support */ |
58 | SETHT_MCS32(ht_cap->ht_cap.mcs.rx_mask); | 60 | SETHT_MCS32(ht_cap->ht_cap.mcs.rx_mask); |
59 | 61 | ||
diff --git a/drivers/net/wireless/mwifiex/join.c b/drivers/net/wireless/mwifiex/join.c index 88664ae667ba..3c7cabeddf76 100644 --- a/drivers/net/wireless/mwifiex/join.c +++ b/drivers/net/wireless/mwifiex/join.c | |||
@@ -969,6 +969,16 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv, | |||
969 | priv->adapter->config_bands); | 969 | priv->adapter->config_bands); |
970 | mwifiex_fill_cap_info(priv, radio_type, ht_cap); | 970 | mwifiex_fill_cap_info(priv, radio_type, ht_cap); |
971 | 971 | ||
972 | if (adapter->sec_chan_offset == | ||
973 | IEEE80211_HT_PARAM_CHA_SEC_NONE) { | ||
974 | u16 tmp_ht_cap; | ||
975 | |||
976 | tmp_ht_cap = le16_to_cpu(ht_cap->ht_cap.cap_info); | ||
977 | tmp_ht_cap &= ~IEEE80211_HT_CAP_SUP_WIDTH_20_40; | ||
978 | tmp_ht_cap &= ~IEEE80211_HT_CAP_SGI_40; | ||
979 | ht_cap->ht_cap.cap_info = cpu_to_le16(tmp_ht_cap); | ||
980 | } | ||
981 | |||
972 | pos += sizeof(struct mwifiex_ie_types_htcap); | 982 | pos += sizeof(struct mwifiex_ie_types_htcap); |
973 | cmd_append_size += sizeof(struct mwifiex_ie_types_htcap); | 983 | cmd_append_size += sizeof(struct mwifiex_ie_types_htcap); |
974 | 984 | ||