From 4d489039cea5ec3179f918e1294a9366b2e3ddfb Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov Date: Thu, 18 Mar 2010 19:35:44 +0100 Subject: [PATCH] Fixed problems with channel configuration --- rt2870_rf.c | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/rt2870_rf.c b/rt2870_rf.c index 388216c..0decc47 100644 --- a/rt2870_rf.c +++ b/rt2870_rf.c @@ -189,38 +189,25 @@ void rt2870_rf_select_chan_group(struct rt2870_softc *sc, rt2870_io_bbp_write(sc, 66, tmp); - tmp = RT2870_REG_RFTR_ENABLE | RT2870_REG_TRSW_ENABLE; + tmp = RT2870_REG_RFTR_ENABLE | + RT2870_REG_TRSW_ENABLE | + RT2870_REG_LNA_PE_G1_ENABLE | + RT2870_REG_LNA_PE_A1_ENABLE | + RT2870_REG_LNA_PE_G0_ENABLE | + RT2870_REG_LNA_PE_A0_ENABLE; if (group == 0) - { - tmp |= RT2870_REG_LNA_PE_A1_ENABLE | - RT2870_REG_LNA_PE_G0_ENABLE | - RT2870_REG_LNA_PE_A0_ENABLE | - RT2870_REG_PA_PE_A1_ENABLE | - RT2870_REG_PA_PE_G0_ENABLE | - RT2870_REG_PA_PE_A0_ENABLE; - - if (sc->ntxpath > 1) - tmp |= RT2870_REG_PA_PE_G1_ENABLE; - - if (sc->nrxpath > 1) - tmp |= RT2870_REG_LNA_PE_G1_ENABLE; - } + tmp |= RT2870_REG_PA_PE_G1_ENABLE | + RT2870_REG_PA_PE_G0_ENABLE; else - { - tmp |= RT2870_REG_LNA_PE_G1_ENABLE | - RT2870_REG_LNA_PE_G0_ENABLE | - RT2870_REG_LNA_PE_A0_ENABLE | - RT2870_REG_PA_PE_G1_ENABLE | - RT2870_REG_PA_PE_G0_ENABLE | + tmp |= RT2870_REG_PA_PE_A1_ENABLE | RT2870_REG_PA_PE_A0_ENABLE; - if (sc->ntxpath > 1) - tmp |= RT2870_REG_PA_PE_A1_ENABLE; + if (sc->ntxpath == 1) + tmp &= ~(RT2870_REG_PA_PE_G1_ENABLE | RT2870_REG_PA_PE_A1_ENABLE); - if (sc->nrxpath > 1) - tmp |= RT2870_REG_LNA_PE_A1_ENABLE; - } + if (sc->nrxpath == 1) + tmp &= ~(RT2870_REG_LNA_PE_G1_ENABLE | RT2870_REG_LNA_PE_A1_ENABLE); rt2870_io_mac_write(sc, RT2870_REG_TX_PIN_CFG, tmp); -- 2.11.4.GIT