aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2013-01-02 19:56:00 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-01-07 15:16:59 -0500
commitd35f1035b53e92167a8231e15121dd10f4aa8edd (patch)
treef786fc530a2e067267dddd8a49f070e67da21c77 /drivers/net/wireless/mwifiex
parentfc40ca92344a4e4a45bf916cf067e92085b881ea (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.c4
-rw-r--r--drivers/net/wireless/mwifiex/join.c10
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