diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2010-06-02 06:23:43 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-04 16:00:39 -0400 |
commit | 29d9075e1c577cb9affd7859c87e41f12ae270f2 (patch) | |
tree | 0488ba21812ce6b61bd088696df6f18432e4c910 | |
parent | 6debecad452d3bbe5affc0a21bc0bb452f867cd8 (diff) |
ath9k_htc: Configure dual stream rates
The rate information on the target has to be updated
for 2-stream devices, along with the correct chainmask.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_main.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c index 569b9c0fee3f..b7ce902f2453 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c | |||
@@ -325,9 +325,9 @@ static int ath9k_htc_update_cap_target(struct ath9k_htc_priv *priv) | |||
325 | tcap.flags_ext = 0x80601000; | 325 | tcap.flags_ext = 0x80601000; |
326 | tcap.ampdu_limit = 0xffff0000; | 326 | tcap.ampdu_limit = 0xffff0000; |
327 | tcap.ampdu_subframes = 20; | 327 | tcap.ampdu_subframes = 20; |
328 | tcap.tx_chainmask_legacy = 1; | 328 | tcap.tx_chainmask_legacy = priv->ah->caps.tx_chainmask; |
329 | tcap.protmode = 1; | 329 | tcap.protmode = 1; |
330 | tcap.tx_chainmask = 1; | 330 | tcap.tx_chainmask = priv->ah->caps.tx_chainmask; |
331 | 331 | ||
332 | WMI_CMD_BUF(WMI_TARGET_IC_UPDATE_CMDID, &tcap); | 332 | WMI_CMD_BUF(WMI_TARGET_IC_UPDATE_CMDID, &tcap); |
333 | 333 | ||
@@ -365,6 +365,11 @@ static void ath9k_htc_setup_rate(struct ath9k_htc_priv *priv, | |||
365 | trate->rates.ht_rates.rs_nrates = j; | 365 | trate->rates.ht_rates.rs_nrates = j; |
366 | 366 | ||
367 | caps = WLAN_RC_HT_FLAG; | 367 | caps = WLAN_RC_HT_FLAG; |
368 | if (priv->ah->caps.tx_chainmask != 1 && | ||
369 | ath9k_hw_getcapability(priv->ah, ATH9K_CAP_DS, 0, NULL)) { | ||
370 | if (sta->ht_cap.mcs.rx_mask[1]) | ||
371 | caps |= WLAN_RC_DS_FLAG; | ||
372 | } | ||
368 | if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) | 373 | if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) |
369 | caps |= WLAN_RC_40_FLAG; | 374 | caps |= WLAN_RC_40_FLAG; |
370 | if (conf_is_ht40(&priv->hw->conf) && | 375 | if (conf_is_ht40(&priv->hw->conf) && |