| From 52d6d4ef5e6d1517688e27c11c01ab303ec681dd Mon Sep 17 00:00:00 2001 |
| From: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
| Date: Thu, 20 Oct 2011 14:22:43 +0530 |
| Subject: ath9k_hw: Fix regression of register offset for AR9003 chips |
| |
| From: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
| |
| commit 52d6d4ef5e6d1517688e27c11c01ab303ec681dd upstream. |
| |
| My recent commits (3782c69d, 324c74a) introduced regression |
| for register offset selection that based on the macversion. |
| Not using parentheses in proper manner for ternary operator |
| leads to select wrong offset for the registers. |
| |
| This issue was observed with AR9462 chip that immediate disconnect |
| after the association with the following message |
| |
| ieee80211 phy3: wlan0: Failed to send nullfunc to AP 00:23:69:12:ea:47 |
| after 500ms, disconnecting. |
| |
| Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/net/wireless/ath/ath9k/ar9003_phy.h | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h |
| +++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h |
| @@ -572,12 +572,12 @@ |
| |
| #define AR_PHY_TXGAIN_TABLE (AR_SM_BASE + 0x300) |
| |
| -#define AR_PHY_TX_IQCAL_CONTROL_1 (AR_SM_BASE + AR_SREV_9485(ah) ? \ |
| - 0x3c8 : 0x448) |
| -#define AR_PHY_TX_IQCAL_START (AR_SM_BASE + AR_SREV_9485(ah) ? \ |
| - 0x3c4 : 0x440) |
| -#define AR_PHY_TX_IQCAL_STATUS_B0 (AR_SM_BASE + AR_SREV_9485(ah) ? \ |
| - 0x3f0 : 0x48c) |
| +#define AR_PHY_TX_IQCAL_CONTROL_1 (AR_SM_BASE + (AR_SREV_9485(ah) ? \ |
| + 0x3c8 : 0x448)) |
| +#define AR_PHY_TX_IQCAL_START (AR_SM_BASE + (AR_SREV_9485(ah) ? \ |
| + 0x3c4 : 0x440)) |
| +#define AR_PHY_TX_IQCAL_STATUS_B0 (AR_SM_BASE + (AR_SREV_9485(ah) ? \ |
| + 0x3f0 : 0x48c)) |
| #define AR_PHY_TX_IQCAL_CORR_COEFF_B0(_i) (AR_SM_BASE + \ |
| (AR_SREV_9485(ah) ? \ |
| 0x3d0 : 0x450) + ((_i) << 2)) |