aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-03-26 18:02:08 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-03-26 18:05:41 +0100
commit64a4327c34568628d5eb9bfc63fdcf88f60e1c3f (patch)
tree595de85541d67d8ec5276bd0863b6d6bafeb16f1
parenta276b9823627fcc3279bd005cc64f63edbeb4819 (diff)
sysmobts: Apply the potentially new max_power_red on the TRX
In case the max power reduction has been changed through OML, let us call the l1if_set_txpower routine to update the nominal power. This has been manually verified with both BTS #1 and #57. ./bsc_control.py -d localhost -p 4249 -s bts.0.trx.0.max-power-reduction 0 The above command and GNUradio have been used to determine if the power level has changed at all. Fixes: SYS#268
-rw-r--r--src/osmo-bts-sysmo/oml.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c
index c52d80c..f8f7a0a 100644
--- a/src/osmo-bts-sysmo/oml.c
+++ b/src/osmo-bts-sysmo/oml.c
@@ -1535,6 +1535,15 @@ int bts_model_check_oml(struct gsm_bts *bts, uint8_t msg_type,
int bts_model_apply_oml(struct gsm_bts *bts, struct msgb *msg,
struct tlv_parsed *new_attr, int kind, void *obj)
{
+ if (kind == NM_OC_RADIO_CARRIER) {
+ struct gsm_bts_trx *trx = obj;
+ struct femtol1_hdl *fl1h = trx_femtol1_hdl(trx);
+
+ /* Did we go through MphInit yet? If yes fire and forget */
+ if (fl1h->hLayer1)
+ l1if_set_txpower(fl1h, trx->nominal_power - trx->max_power_red);
+ }
+
/* FIXME: we actaully need to send a ACK or NACK for the OML message */
return oml_fom_ack_nack(msg, 0);
}