nm_*_fsm: Move reset state code to st_op_disabled_notinstalled_on_enter

Let's rather put it there instead of the shutdown code path, since we'll
be adding more and more reset coe there.

Change-Id: I43a136ade731a2c58c0a29d97875088e9b6d4414
This commit is contained in:
Pau Espin 2021-10-08 17:50:09 +02:00 committed by pespin
parent 556a966952
commit 9419319ab5
2 changed files with 8 additions and 5 deletions

View File

@ -57,6 +57,9 @@ static void ev_dispatch_children(struct gsm_bts *bts, uint32_t event)
static void st_op_disabled_notinstalled_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
{
struct gsm_bts *bts = (struct gsm_bts *)fi->priv;
/* Reset state: */
bts->si_valid = 0;
bts->mo.setattr_success = false;
bts->mo.opstart_success = false;
oml_mo_state_chg(&bts->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_NOT_INSTALLED, NM_STATE_LOCKED);
@ -150,8 +153,6 @@ static void nm_bts_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data
case NM_EV_SHUTDOWN_FINISH:
/* Propagate event to children: */
ev_dispatch_children(bts, event);
/* Reset state: */
bts->si_valid = 0;
nm_bts_fsm_state_chg(fi, NM_BTS_ST_OP_DISABLED_NOTINSTALLED);
break;
default:

View File

@ -55,6 +55,11 @@ static bool ts_can_be_enabled(const struct gsm_bts_trx_ts *ts)
static void st_op_disabled_notinstalled_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
{
struct gsm_bts_trx_ts *ts = (struct gsm_bts_trx_ts *)fi->priv;
/* Reset state: */
gsm_ts_release(ts);
if (ts->vamos.peer)
gsm_ts_release(ts->vamos.peer);
ts->mo.setattr_success = false;
ts->mo.opstart_success = false;
oml_mo_state_chg(&ts->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_NOT_INSTALLED, NM_STATE_LOCKED);
@ -193,9 +198,6 @@ static void nm_chan_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *dat
oml_mo_state_chg(&ts->mo, -1, -1, NM_STATE_SHUTDOWN);
break;
case NM_EV_SHUTDOWN_FINISH:
gsm_ts_release(ts);
if (ts->vamos.peer)
gsm_ts_release(ts->vamos.peer);
nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_NOTINSTALLED);
break;
default: