Hey Vadim,
Just now I came across this code,
with an early return in case of BCCH. But right below that, BCCH is still
mentioned in the comment, and there are more IEs being parsed.
So I get the impression the early return may prevent that OSMO_MIN limiting for
BCCH, and that may not be intended?
/* Osmocom specific extension for BCCH carrier power reduction */
if (dch->chan_nr == RSL_CHAN_BCCH) {
int rc = bts_set_c0_pwr_red(trx->bts, new);
if (rc != 0) {
const uint8_t cause = (rc == -ENOTSUP) ?
RSL_ERR_SERV_OPT_UNIMPL : RSL_ERR_IE_CONTENT;
return rsl_tx_error_report(trx, cause, &dch->chan_nr, NULL, msg);
}
return 0;
}
/* BS power reduction is generally not allowed on BCCH/CCCH carrier.
* However, we allow it in the BCCH carrier power reduction operation.
* Constrain BS power value by the maximum reduction for this timeslot. */
if (trx->bts->c0 == trx)
new = OSMO_MIN(new, lchan->ts->c0_power_red_db);
/* 9.3.32 (TLV) BS Power Parameters IE (vendor specific) */
if ((ie = TLVP_GET(&tp, RSL_IE_BS_POWER_PARAM)) != NULL) {
https://git.osmocom.org/osmo-bts/tree/src/common/rsl.c?id=6611e7f3059d26794…