nm_channel_fsm: Release lchans after BTS shutdown
This fixes some TTCN3 tests where some lchan resources were kept from previous tests. Change-Id: I78dca32cd061fba86cc88c4c4f323b33d51c58d0
This commit is contained in:
parent
b1409015fa
commit
15c23179dc
|
@ -194,4 +194,6 @@ int conf_lchans_as_pchan(struct gsm_bts_trx_ts *ts,
|
|||
|
||||
bool ts_is_pdch(const struct gsm_bts_trx_ts *ts);
|
||||
|
||||
void gsm_ts_release(struct gsm_bts_trx_ts *ts);
|
||||
|
||||
#endif /* _GSM_DATA_H */
|
||||
|
|
|
@ -305,3 +305,13 @@ bool ts_is_pdch(const struct gsm_bts_trx_ts *ts)
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void gsm_ts_release(struct gsm_bts_trx_ts *ts)
|
||||
{
|
||||
unsigned int ln;
|
||||
|
||||
for (ln = 0; ln < ARRAY_SIZE(ts->lchan); ln++) {
|
||||
struct gsm_lchan *lchan = &ts->lchan[ln];
|
||||
gsm_lchan_release(lchan, LCHAN_REL_ACT_OML);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -193,6 +193,9 @@ 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:
|
||||
|
|
Loading…
Reference in New Issue