ipaccess nm: Handle TS_EV_OML_DOWN through NM FSM

This way we have much more control on where the events are expected to
happen.

Related: OS#5973
Change-Id: I314b8bbd8721b0420aa4a2a4da9e911834853324
This commit is contained in:
Pau Espin 2023-04-03 13:21:44 +02:00 committed by laforge
parent 90b83f9195
commit 58db3305d7
2 changed files with 3 additions and 3 deletions

View File

@ -636,8 +636,6 @@ void ipaccess_drop_oml(struct gsm_bts *bts, const char *reason)
for (i = 0; i < ARRAY_SIZE(bts->site_mgr->gprs.nsvc); i++)
osmo_fsm_inst_dispatch(bts->site_mgr->gprs.nsvc[i].mo.fi, NM_EV_OML_DOWN, NULL);
gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL);
bts->ip_access.flags = 0;
/* Reset the feature vector */

View File

@ -286,8 +286,10 @@ static void st_op_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data)
ts->mo.opstart_sent = false;
break;
case NM_EV_OML_DOWN:
if (fi->state != NM_CHAN_ST_OP_DISABLED_NOTINSTALLED)
if (fi->state != NM_CHAN_ST_OP_DISABLED_NOTINSTALLED) {
osmo_fsm_inst_dispatch(ts->fi, TS_EV_OML_DOWN, NULL);
nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_NOTINSTALLED);
}
break;
default:
OSMO_ASSERT(0);