[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-stable-commits
Subject:    Patch "ath9k_hw: fix chain swap setting when setting rx chainmask to 5" has been added to the 3.7-st
From:       <gregkh () linuxfoundation ! org>
Date:       2013-01-30 10:31:06
Message-ID: 13595418661852 () kroah ! org
[Download RAW message or body]


This is a note to let you know that I've just added the patch titled

    ath9k_hw: fix chain swap setting when setting rx chainmask to 5

to the 3.7-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ath9k_hw-fix-chain-swap-setting-when-setting-rx-chainmask-to-5.patch
and it can be found in the queue-3.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


From 24171dd92096fc370b195f3f6bdc0798855dc3f9 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 20 Jan 2013 21:55:21 +0100
Subject: ath9k_hw: fix chain swap setting when setting rx chainmask to 5

From: Felix Fietkau <nbd@openwrt.org>

commit 24171dd92096fc370b195f3f6bdc0798855dc3f9 upstream.

Chain swapping should only be enabled when the EEPROM chainmask is set to 5,
regardless of what the runtime chainmask is.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/ath/ath9k/ar9003_phy.c |   25 ++++++-------------------
 1 file changed, 6 insertions(+), 19 deletions(-)

--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -588,30 +588,17 @@ static void ar9003_hw_init_bb(struct ath
 
 static void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx)
 {
-	switch (rx) {
-	case 0x5:
+	if (ah->caps.tx_chainmask == 5 || ah->caps.rx_chainmask == 5)
 		REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP,
 			    AR_PHY_SWAP_ALT_CHAIN);
-	case 0x3:
-	case 0x1:
-	case 0x2:
-	case 0x7:
-		REG_WRITE(ah, AR_PHY_RX_CHAINMASK, rx);
-		REG_WRITE(ah, AR_PHY_CAL_CHAINMASK, rx);
-		break;
-	default:
-		break;
-	}
+
+	REG_WRITE(ah, AR_PHY_RX_CHAINMASK, rx);
+	REG_WRITE(ah, AR_PHY_CAL_CHAINMASK, rx);
 
 	if ((ah->caps.hw_caps & ATH9K_HW_CAP_APM) && (tx == 0x7))
-		REG_WRITE(ah, AR_SELFGEN_MASK, 0x3);
-	else
-		REG_WRITE(ah, AR_SELFGEN_MASK, tx);
+		tx = 3;
 
-	if (tx == 0x5) {
-		REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP,
-			    AR_PHY_SWAP_ALT_CHAIN);
-	}
+	REG_WRITE(ah, AR_SELFGEN_MASK, tx);
 }
 
 /*


Patches currently in stable-queue which might be from nbd@openwrt.org are

queue-3.7/ath9k-allow-setting-arbitrary-antenna-masks-on-ar9003.patch
queue-3.7/ath9k-disable-the-tasklet-before-taking-the-pcu-lock.patch
queue-3.7/ath9k-remove-sc-rx.rxbuflock-to-fix-a-deadlock.patch
queue-3.7/ath9k-fix-double-free-bug-on-beacon-generate-failure.patch
queue-3.7/ath9k-remove-the-warn_on-that-triggers-if-generating-a-beacon-fails.patch
queue-3.7/ath9k-add-a-better-fix-for-the-rx-tasklet-vs-rx-flush-race.patch
queue-3.7/ath9k_hw-fix-chain-swap-setting-when-setting-rx-chainmask-to-5.patch
queue-3.7/ath9k-do-not-link-receive-buffers-during-flush.patch
queue-3.7/ath9k-fix-rx-flush-handling.patch
--
To unsubscribe from this list: send the line "unsubscribe stable-commits" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic