From 4190537d7d4414e2545d9808d922b90ed807675a Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Tue, 4 Apr 2023 14:17:04 +0200 Subject: NM: NACK received OML OPSTART if no attributes were set beforehand Related: OS#5992 Change-Id: I771ecc2f60873a3549e8a07a2e57c7948dfc993e --- src/common/nm_channel_fsm.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/common/nm_channel_fsm.c') diff --git a/src/common/nm_channel_fsm.c b/src/common/nm_channel_fsm.c index 76c860da..252df83d 100644 --- a/src/common/nm_channel_fsm.c +++ b/src/common/nm_channel_fsm.c @@ -107,6 +107,10 @@ static void st_op_disabled_dependency(struct osmo_fsm_inst *fi, uint32_t event, case NM_EV_RX_OPSTART: LOGPFSML(fi, LOGL_NOTICE, "BSC trying to activate TS while still in avail=dependency. " "Allowing it to stay backward-compatible with older osmo-bts versions, but BSC is wrong.\n"); + if (!ts->mo.setattr_success) { + oml_mo_opstart_nack(&ts->mo, NM_NACK_CANT_PERFORM); + return; + } bts_model_opstart(ts->trx->bts, &ts->mo, ts); break; case NM_EV_OPSTART_ACK: @@ -154,6 +158,10 @@ static void st_op_disabled_offline(struct osmo_fsm_inst *fi, uint32_t event, voi oml_fom_ack_nack_copy_msg(setattr_data->msg, rc); break; case NM_EV_RX_OPSTART: + if (!ts->mo.setattr_success) { + oml_mo_opstart_nack(&ts->mo, NM_NACK_CANT_PERFORM); + return; + } bts_model_opstart(ts->trx->bts, &ts->mo, ts); break; case NM_EV_OPSTART_ACK: -- cgit v1.2.3