mwifiex: fix ht_cap_info in ibss beacons
authorYogesh Ashok Powar <yogeshp@marvell.com>
Tue, 8 Nov 2011 05:41:06 +0000 (21:41 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 11 Nov 2011 17:32:47 +0000 (12:32 -0500)
A local variable is used to calculate ht_cap_info.
Erroneously ht_cap.cap_info isn't updated in the ibss beacons
after the calculation. This patch fixes it.

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Kiran Divekar <dkiran@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/join.c

index 62b4c2938608d67873d66afb8be9e288247820b9..062716cb90e25273a5e1dbbc5e5cf8ae115e7e8c 100644 (file)
@@ -922,15 +922,15 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
                                cpu_to_le16(WLAN_EID_HT_CAPABILITY);
                        ht_cap->header.len =
                               cpu_to_le16(sizeof(struct ieee80211_ht_cap));
-                       ht_cap_info = le16_to_cpu(ht_cap->ht_cap.cap_info);
 
-                       ht_cap_info |= IEEE80211_HT_CAP_SGI_20;
+                       ht_cap_info = IEEE80211_HT_CAP_SGI_20;
                        if (adapter->chan_offset) {
                                ht_cap_info |= IEEE80211_HT_CAP_SGI_40;
                                ht_cap_info |= IEEE80211_HT_CAP_DSSSCCK40;
                                ht_cap_info |= IEEE80211_HT_CAP_SUP_WIDTH_20_40;
                                SETHT_MCS32(ht_cap->ht_cap.mcs.rx_mask);
                        }
+                       ht_cap->ht_cap.cap_info = cpu_to_le16(ht_cap_info);
 
                        ht_cap->ht_cap.ampdu_params_info
                                        = IEEE80211_HT_MAX_AMPDU_64K;