summaryrefslogtreecommitdiffstats
path: root/src/host/trxcon/l1ctl.c
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2017-08-07 13:18:59 +0600
committerVadim Yanitskiy <axilirator@gmail.com>2017-11-19 17:35:07 +0700
commit8e13093c88b8d8fd4e9751b9fe8695f86464d46e (patch)
treea71a0404991b1f6bb2d7bd896c8845a9071e33e7 /src/host/trxcon/l1ctl.c
parent14d0f670640e4084d20ee9093dc0d2b74c8985a8 (diff)
host/trxcon/l1ctl.c: retune TRX only if current ARFCN differs
Diffstat (limited to 'src/host/trxcon/l1ctl.c')
-rw-r--r--src/host/trxcon/l1ctl.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c
index 3cf98b3a..8f968909 100644
--- a/src/host/trxcon/l1ctl.c
+++ b/src/host/trxcon/l1ctl.c
@@ -306,12 +306,16 @@ static int l1ctl_rx_fbsb_req(struct l1ctl_link *l1l, struct msgb *msg)
/* Ask SCH handler to send L1CTL_FBSB_CONF */
l1l->fbsb_conf_sent = 0;
- /* Store current ARFCN */
- l1l->trx->band_arfcn = band_arfcn;
+ /* Only if current ARFCN differs */
+ if (l1l->trx->band_arfcn != band_arfcn) {
+ /* Update current ARFCN */
+ l1l->trx->band_arfcn = band_arfcn;
+
+ /* Tune transceiver to required ARFCN */
+ trx_if_cmd_rxtune(l1l->trx, band_arfcn);
+ trx_if_cmd_txtune(l1l->trx, band_arfcn);
+ }
- /* Tune transceiver to required ARFCN */
- trx_if_cmd_rxtune(l1l->trx, band_arfcn);
- trx_if_cmd_txtune(l1l->trx, band_arfcn);
trx_if_cmd_poweron(l1l->trx);
/* Start FBSB expire timer */