Fix MEAS parsing, as Ericsson RBS reports TA shifted by 2 bits.

This fixes call setup issues when more than ~1km from the tower.

NOTE: We use the last reported TA from the UE in the CHANnel ACTIVation.
When the UE is more than 1km from the tower, (unshifted) TA in the
measurement report can be 8 or greater. Once we send TA of 8 in the
CHAN ACTIV message, the lchan is unrecoverable.

Change-Id: I1c9bd5bf2fd126e62bcbec419f3499d2e0465559
This commit is contained in:
Keith Whyte 2021-09-26 22:13:23 +02:00 committed by laforge
parent df612507d6
commit b7c4d801ff
1 changed files with 3 additions and 2 deletions

View File

@ -1319,9 +1319,10 @@ static int rsl_rx_meas_res(struct msgb *msg)
if (val[0] & 0x04)
mr->flags |= MEAS_REP_F_FPC;
mr->ms_l1.ta = val[1];
/* BS11 and Nokia reports TA shifted by 2 bits */
/* BS11, Nokia and RBS report TA shifted by 2 bits */
if (msg->lchan->ts->trx->bts->type == GSM_BTS_TYPE_BS11
|| msg->lchan->ts->trx->bts->type == GSM_BTS_TYPE_NOKIA_SITE)
|| msg->lchan->ts->trx->bts->type == GSM_BTS_TYPE_NOKIA_SITE
|| msg->lchan->ts->trx->bts->type == GSM_BTS_TYPE_RBS2000)
mr->ms_l1.ta >>= 2;
/* store TA for handover decision, and for intra-cell re-assignment */
mr->lchan->last_ta = mr->ms_l1.ta;