ath9k_hw: fix calibration issues on chainmask that don't include chain 0
Cc: stable@vger.kernel.org Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
430d25251e
Коммит
4a8f199508
|
@ -976,6 +976,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;
|
||||||
|
|
|
@ -586,7 +586,7 @@ static void ar9003_hw_init_bb(struct ath_hw *ah,
|
||||||
ath9k_hw_synth_delay(ah, chan, synthDelay);
|
ath9k_hw_synth_delay(ah, chan, synthDelay);
|
||||||
}
|
}
|
||||||
|
|
||||||
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:
|
||||||
|
|
|
@ -1066,6 +1066,7 @@ void 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);
|
||||||
bool ar9003_is_paprd_enabled(struct ath_hw *ah);
|
bool ar9003_is_paprd_enabled(struct ath_hw *ah);
|
||||||
|
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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче