diff options
author | Sujith Manoharan <c_manoha@qualcomm.com> | 2012-09-12 05:29:58 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-09-24 14:59:06 -0400 |
commit | 215999f38017e8e26791fafc60631b4099ee04ea (patch) | |
tree | 33640633ea68954958b8fb7d592f56aa08a9bfd4 | |
parent | 791ef39cd18ae2745a63c51a5dbbd23312be0744 (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.c | 11 |
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; |