aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-10-25 16:40:10 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2019-10-28 11:05:29 +0100
commit1e9d4feba5c767a1190d42243d738c252de0e490 (patch)
tree2549ac86fec2c354895f9f3a23fbc54c3a4c6cca
parenta456f2bd15ae3a7e35d04b75df5009bf7387af8d (diff)
bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits
TS 48.058 sec 4.8 MS power control: """ TRX then attempts to keep the power control parameters within the limits set by the MS POWER CONTROL message (or by the CHANNEL ACTIVATION message) by changing the MS Power Level field of the L1 header sent to MS in each SACCH block. """ Fixes TTCN3 BTS_Tests.TC_rsl_ms_pwr_dyn_max Change-Id: Ifda92155bd9c277ac150a327a7ab63c854087788
-rw-r--r--src/osmo-bts-trx/loops.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/loops.c b/src/osmo-bts-trx/loops.c
index 8a5dd2e1..4e77bca3 100644
--- a/src/osmo-bts-trx/loops.c
+++ b/src/osmo-bts-trx/loops.c
@@ -57,6 +57,10 @@ static void ms_power_diff(struct gsm_lchan *lchan, int8_t diff)
if (new_power < 0)
new_power = 0;
+ /* Don't ask for smaller ms power level than the one set by BSC upon RSL CHAN ACT */
+ if (new_power < lchan->ms_power)
+ new_power = lchan->ms_power;
+
/* saturate at the maximum possible power level for the given band */
// FIXME: to go above 1W, we need to know classmark of MS
if (arfcn >= 512 && arfcn <= 885) {