aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2019-11-26 16:35:48 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2020-01-03 13:03:49 +0100
commit24e702b7d089b26511edb4fbef8b5757a17fa7b5 (patch)
treee452d4372bf9726baad0bf422728248b50a47855
parent66c17cfc2d5d2a68de0484562cef46d142dd2f4b (diff)
l1sap.c: ensure ms power control loop is running
When a bad SACCH frame is received the processing of the frame is ended early and lchan_ms_pwr_ctrl() is not called. This means that the power control loop does not get informed about a situation where the signal level is very weak and increasing the ms power would make sense. In order to ensure that the power control keeps working on lost SACCH frames, lets call lchan_ms_pwr_ctrl() with the current RSSI and the requested (BSC) power setting. Related: OS#4281 Change-Id: I4fb85754b1a69376b02da7f4b175c6e8ec9cc35c
-rw-r--r--src/common/l1sap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 49302573..b73de298 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1244,10 +1244,12 @@ static int l1sap_ph_data_ind(struct gsm_bts_trx *trx,
* This is a fallback method. The report will also
* lack the measurement report from the MS side. See
* also rsl.c:lapdm_rll_tx_cb() */
+ LOGPGT(DL1P, LOGL_INFO, &g_time, "Lost SACCH block, faking meas reports and ms pwr\n");
le = &lchan->lapdm_ch.lapdm_acch;
rsl_tx_meas_res(lchan, NULL, 0, le);
radio_link_timeout(lchan, 1);
+ lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, data_ind->rssi);
}
return -EINVAL;
}