aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-09-30 17:04:38 +0600
committerpespin <pespin@sysmocom.de>2021-09-30 11:36:47 +0000
commit5fa08dee72cd6388fcda1da9d332d92bd09860ca (patch)
tree3fe5050fc394fc33b98b721034e60f8a02625e01
parent1c3431db95950ea47938524921ce9ae6a7d2128b (diff)
fix handle_ms_meas_report(): properly count measurement reports
Each RSL MEASurement RESult message contains a Measurement Number IE, which is basically a monolithically increasing number. We shall not increase this counter if for whatever reason the report has not been sent to the BSC. Change-Id: I441adb4b202e94ddee8c0b6777849e36ea644b1d Fixes: Id67259ec9ac4c2c33bd0eef3f64450affbe3fb9f Fixes: OS#5243
-rw-r--r--src/common/measurement.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/common/measurement.c b/src/common/measurement.c
index 7dc0bf1a..87e853ef 100644
--- a/src/common/measurement.c
+++ b/src/common/measurement.c
@@ -805,6 +805,8 @@ int handle_ms_meas_report(struct gsm_lchan *lchan, struct gsm48_hdr *gh, unsigne
timing_offset = ms_to_valid(lchan) ? ms_to2rsl(lchan, le) : -1;
rc = rsl_tx_meas_res(lchan, (uint8_t *)gh, len, timing_offset);
+ if (rc == 0) /* Count successful transmissions */
+ lchan->meas.res_nr++;
/* Run control loops now that we have all the information: */
/* 3GPP TS 45.008 sec 4.2: UL L1 SACCH Header contains TA and
@@ -850,7 +852,6 @@ int handle_ms_meas_report(struct gsm_lchan *lchan, struct gsm48_hdr *gh, unsigne
lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) gh);
/* Reset state for next iteration */
- lchan->meas.res_nr++;
lchan->tch.dtx.dl_active = false;
lchan->meas.flags &= ~LC_UL_M_F_OSMO_EXT_VALID;
lchan->meas.flags &= ~LC_UL_M_F_L1_VALID;