From 4736561b22c5d6c7ed9e673c6d76655710202f7e Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Thu, 6 Sep 2018 02:40:24 +0700 Subject: trxcon/l1ctl.c: fix: handle ARFCN from L1CTL_DM_EST_REQ A BSC may allocate a dedicated channel on any ARFCN, not necessary on the same one where a mobile station has requested this channel. For some reason, the ARFCN info of L1CTL_DM_EST_REQ message was not handled by trxcon. Let's fix this. Related: OS#3526 Change-Id: I16ed5c64236c159bfa39002b05094c1f6c171f6b --- src/host/trxcon/l1ctl.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/host/trxcon') diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 49d6a127..b0a4c6dd 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -554,6 +554,16 @@ static int l1ctl_rx_dm_est_req(struct l1ctl_link *l1l, struct msgb *msg) goto exit; } + /* Only if the 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); + } + /* Update TSC (Training Sequence Code) */ l1l->trx->tsc = est_req->tsc; -- cgit v1.2.3