2009-01-27 05:29:19

by Sujith

[permalink] [raw]
Subject: [PATCH] ath9k: Handle chainmask for A9280

The default chainmask for AR9280 is 3, so handle that when setting
the supported MCS rates. Also, check for the HW supported chainmask
when choosing single/dual stream.

Signed-off-by: Sujith <[email protected]>
---
drivers/net/wireless/ath9k/main.c | 1 +
drivers/net/wireless/ath9k/rc.c | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index 15a7f90..d92da13 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -876,6 +876,7 @@ static void setup_ht_cap(struct ath_softc *sc,
case 1:
ht_info->mcs.rx_mask[0] = 0xff;
break;
+ case 3:
case 5:
case 7:
default:
diff --git a/drivers/net/wireless/ath9k/rc.c b/drivers/net/wireless/ath9k/rc.c
index 8e1528d..eb557ad 100644
--- a/drivers/net/wireless/ath9k/rc.c
+++ b/drivers/net/wireless/ath9k/rc.c
@@ -1359,7 +1359,7 @@ static void ath_rc_init(struct ath_softc *sc,

if (sta->ht_cap.ht_supported) {
ath_rc_priv->ht_cap = WLAN_RC_HT_FLAG;
- if (sc->sc_tx_chainmask != 1)
+ if (sc->sc_ah->ah_caps.tx_chainmask != 1)
ath_rc_priv->ht_cap |= WLAN_RC_DS_FLAG;
if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)
ath_rc_priv->ht_cap |= WLAN_RC_40_FLAG;
--
1.6.1