diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2018-09-06 02:40:24 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2018-09-06 20:33:23 +0000 |
commit | 4736561b22c5d6c7ed9e673c6d76655710202f7e (patch) | |
tree | 9dd31cdd7fc3cf729b31353880a6cefb69a51f67 /src/host/trxcon | |
parent | fcfe20d3e007292e6c4c641e40d571e8ab416322 (diff) |
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
Diffstat (limited to 'src/host/trxcon')
-rw-r--r-- | src/host/trxcon/l1ctl.c | 10 |
1 files changed, 10 insertions, 0 deletions
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; |