aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinh-Quang Nguyen <minh-quang.nguyen@nutaq.com>2017-11-07 15:17:12 -0500
committerDaniel Willmann <dwillmann@sysmocom.de>2019-03-27 14:19:40 +0100
commit2ba608415bc9655703c9b29aa4781e4a417e0990 (patch)
tree018b3a5fe4ca213329b1031ba975b46966784d8c
parent4a1796fe76010270abca056ceeb7785bf46e5e3c (diff)
OC-2G: Fix TA adjustment
Problem: TA provided from L1 PH-DATA-IND is a relative amount of TA adjustment to actual TA being used for given TBF. The current TA update algorithm in PCU simply applies the relative amount of TA to given TBF but does not take into account of current TA. As a result, the PCU will request wrong TA jump for given TBF if the MS is moving away from BTS more than 2 km. Related issue: http://osmocom.org/issues/2611 Fixes: - The PCU needs increase or decrease current TA of given TBF on receiving of relative amount of TA adjustment provided by PH-DATA-IND from L1. - The PCU needs to set absolute TA of given TBF on receiving absolute TA provided by PH-RA-IND from L1. From-Commit: 139ad3f42193 From-Remote: https://gitlab.com/nrw_noa/osmo-pcu Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324
-rw-r--r--src/osmo-bts-oc2g/oc2g_l1_if.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c
index 3855da14..ccf74316 100644
--- a/src/osmo-bts-oc2g/oc2g_l1_if.c
+++ b/src/osmo-bts-oc2g/oc2g_l1_if.c
@@ -210,7 +210,7 @@ static int handle_ph_data_ind(struct oc2gl1_hdl *fl1h,
get_meas(&meas, &data_ind->measParam);
bts_update_tbf_ta("PH-DATA", data_ind->u32Fn, fl1h->trx_no,
- data_ind->u8Tn, qta2ta(meas.bto));
+ data_ind->u8Tn, sign_qta2ta(meas.bto), false);
switch (data_ind->sapi) {
case GsmL1_Sapi_Pdtch:
@@ -250,7 +250,7 @@ static int handle_ph_ra_ind(struct oc2gl1_hdl *fl1h, GsmL1_PhRaInd_t *ra_ind)
DEBUGP(DL1IF, "Rx PH-RA.ind");
bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn,
- qta2ta(ra_ind->measParam.i16BurstTiming));
+ sign_qta2ta(ra_ind->measParam.i16BurstTiming), true);
return 0;
}