aboutsummaryrefslogtreecommitdiffstats
path: root/src
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 /src
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
Diffstat (limited to 'src')
-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;
}