diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-09-30 17:04:38 +0600 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2021-09-30 11:36:47 +0000 |
commit | 5fa08dee72cd6388fcda1da9d332d92bd09860ca (patch) | |
tree | 3fe5050fc394fc33b98b721034e60f8a02625e01 | |
parent | 1c3431db95950ea47938524921ce9ae6a7d2128b (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.c | 3 |
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; |