Search Linux Wireless

Re: [PATCH 3.9] ath9k_hw: revert chainmask to user configuration after calibration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 15, 2013 at 02:53:31PM +0100, Felix Fietkau wrote:
> The commit 'ath9k_hw: fix calibration issues on chainmask that don't
> include chain 0' changed the hardware chainmask to the chip chainmask
> for the duration of the calibration, but the revert to user
> configuration in the reset path runs too early.
> 
> That causes some issues with limiting the number of antennas (including
> spurious failure in hardware-generated packets).
> 
> Fix this by reverting the chainmask after the essential parts of the
> calibration that need the workaround, and before NF calibration is run.
> 
> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx>
> Reported-by: Wojciech Dubowik <Wojciech.Dubowik@xxxxxxxxxxx>
> Tested-by: Wojciech Dubowik <Wojciech.Dubowik@xxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx

This applies to v3.8 as well with the following changes, do you want
it there as well?

diff --git a/drivers/net/wireless/ath/ath9k/ar9003_calib.c b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
index 56317b0..e99f481 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
@@ -976,6 +976,7 @@ static bool ar9003_hw_init_cal(struct ath_hw *ah,
 					  AR_PHY_CL_TAB_1,
 					  AR_PHY_CL_TAB_2 };
 
+	/* Use chip chainmask only for calibration */
 	ar9003_hw_set_chain_masks(ah, ah->caps.rx_chainmask, ah->caps.tx_chainmask);
 
 	if (rtt) {
@@ -1131,6 +1132,9 @@ skip_tx_iqcal:
 		ar9003_hw_rtt_disable(ah);
 	}
 
+	/* Revert chainmask to runtime parameters */
+	ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask);
+
 	/* Initialize list pointers */
 	ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL;
 	ah->supp_cals = IQ_MISMATCH_CAL;
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux