aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/htc_drv_main.c
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2010-06-02 06:23:43 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-04 16:00:39 -0400
commit29d9075e1c577cb9affd7859c87e41f12ae270f2 (patch)
tree0488ba21812ce6b61bd088696df6f18432e4c910 /drivers/net/wireless/ath/ath9k/htc_drv_main.c
parent6debecad452d3bbe5affc0a21bc0bb452f867cd8 (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>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc_drv_main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_main.c9
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 569b9c0fee3..b7ce902f245 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) &&