diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2019-10-25 16:40:10 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2019-10-28 11:05:29 +0100 |
commit | 1e9d4feba5c767a1190d42243d738c252de0e490 (patch) | |
tree | 2549ac86fec2c354895f9f3a23fbc54c3a4c6cca | |
parent | a456f2bd15ae3a7e35d04b75df5009bf7387af8d (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.c | 4 |
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) { |