aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qualcomm.com>2012-09-12 05:29:58 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-09-24 14:59:06 -0400
commit215999f38017e8e26791fafc60631b4099ee04ea (patch)
tree33640633ea68954958b8fb7d592f56aa08a9bfd4
parent791ef39cd18ae2745a63c51a5dbbd23312be0744 (diff)
ath9k: Enable SGI correctly
Set the driver specific SGI flag based on the station's HT capabilities, otherwise rate control uses the wrong rate. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/rc.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index 4b12c347d188..27ed80b54881 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -1222,11 +1222,14 @@ static u8 ath_rc_build_ht_caps(struct ath_softc *sc, struct ieee80211_sta *sta)
1222 caps |= WLAN_RC_TS_FLAG | WLAN_RC_DS_FLAG; 1222 caps |= WLAN_RC_TS_FLAG | WLAN_RC_DS_FLAG;
1223 else if (sta->ht_cap.mcs.rx_mask[1]) 1223 else if (sta->ht_cap.mcs.rx_mask[1])
1224 caps |= WLAN_RC_DS_FLAG; 1224 caps |= WLAN_RC_DS_FLAG;
1225 if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) 1225 if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) {
1226 caps |= WLAN_RC_40_FLAG; 1226 caps |= WLAN_RC_40_FLAG;
1227 if (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40 || 1227 if (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40)
1228 sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20) 1228 caps |= WLAN_RC_SGI_FLAG;
1229 caps |= WLAN_RC_SGI_FLAG; 1229 } else {
1230 if (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20)
1231 caps |= WLAN_RC_SGI_FLAG;
1232 }
1230 } 1233 }
1231 1234
1232 return caps; 1235 return caps;