ath9k: Fix tx struck state with paprd
[cascardo/linux.git] / drivers / net / wireless / ath / ath9k / main.c
index 8b327bc..a133878 100644 (file)
@@ -270,6 +270,7 @@ static void ath_paprd_activate(struct ath_softc *sc)
 {
        struct ath_hw *ah = sc->sc_ah;
        struct ath9k_hw_cal_data *caldata = ah->caldata;
+       struct ath_common *common = ath9k_hw_common(ah);
        int chain;
 
        if (!caldata || !caldata->paprd_done)
@@ -278,7 +279,7 @@ static void ath_paprd_activate(struct ath_softc *sc)
        ath9k_ps_wakeup(sc);
        ar9003_paprd_enable(ah, false);
        for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) {
-               if (!(ah->caps.tx_chainmask & BIT(chain)))
+               if (!(common->tx_chainmask & BIT(chain)))
                        continue;
 
                ar9003_paprd_populate_single_table(ah, caldata, chain);
@@ -300,6 +301,7 @@ void ath_paprd_calibrate(struct work_struct *work)
        struct ieee80211_supported_band *sband = &sc->sbands[band];
        struct ath_tx_control txctl;
        struct ath9k_hw_cal_data *caldata = ah->caldata;
+       struct ath_common *common = ath9k_hw_common(ah);
        int qnum, ftype;
        int chain_ok = 0;
        int chain;
@@ -333,7 +335,7 @@ void ath_paprd_calibrate(struct work_struct *work)
        ath9k_ps_wakeup(sc);
        ar9003_paprd_init_table(ah);
        for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) {
-               if (!(ah->caps.tx_chainmask & BIT(chain)))
+               if (!(common->tx_chainmask & BIT(chain)))
                        continue;
 
                chain_ok = 0;