From 1e9d4feba5c767a1190d42243d738c252de0e490 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 25 Oct 2019 16:40:10 +0200 Subject: 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 --- src/osmo-bts-trx/loops.c | 4 ++++ 1 file changed, 4 insertions(+) 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) { -- cgit v1.2.3