Commit b71a6d27 authored by Felix Fietkau's avatar Felix Fietkau Committed by Ben Hutchings

ath9k_hw: fix calibration issues on chainmask that don't include chain 0

commit 4a8f1995 upstream.
Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 8709c92e
...@@ -946,6 +946,8 @@ static bool ar9003_hw_init_cal(struct ath_hw *ah, ...@@ -946,6 +946,8 @@ static bool ar9003_hw_init_cal(struct ath_hw *ah,
AR_PHY_CL_TAB_1, AR_PHY_CL_TAB_1,
AR_PHY_CL_TAB_2 }; AR_PHY_CL_TAB_2 };
ar9003_hw_set_chain_masks(ah, ah->caps.rx_chainmask, ah->caps.tx_chainmask);
if (rtt) { if (rtt) {
if (!ar9003_hw_rtt_restore(ah, chan)) if (!ar9003_hw_rtt_restore(ah, chan))
run_rtt_cal = true; run_rtt_cal = true;
......
...@@ -541,7 +541,7 @@ static void ar9003_hw_init_bb(struct ath_hw *ah, ...@@ -541,7 +541,7 @@ static void ar9003_hw_init_bb(struct ath_hw *ah,
udelay(synthDelay + BASE_ACTIVATE_DELAY); udelay(synthDelay + BASE_ACTIVATE_DELAY);
} }
static void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx) void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx)
{ {
switch (rx) { switch (rx) {
case 0x5: case 0x5:
......
...@@ -1016,6 +1016,7 @@ int ar9003_paprd_setup_gain_table(struct ath_hw *ah, int chain); ...@@ -1016,6 +1016,7 @@ int ar9003_paprd_setup_gain_table(struct ath_hw *ah, int chain);
int ar9003_paprd_init_table(struct ath_hw *ah); int ar9003_paprd_init_table(struct ath_hw *ah);
bool ar9003_paprd_is_done(struct ath_hw *ah); bool ar9003_paprd_is_done(struct ath_hw *ah);
void ar9003_hw_set_paprd_txdesc(struct ath_hw *ah, void *ds, u8 chains); void ar9003_hw_set_paprd_txdesc(struct ath_hw *ah, void *ds, u8 chains);
void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx);
/* Hardware family op attach helpers */ /* Hardware family op attach helpers */
void ar5008_hw_attach_phy_ops(struct ath_hw *ah); void ar5008_hw_attach_phy_ops(struct ath_hw *ah);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment