trxcon: trxcon_fsm: disallow invalid state transitions

According to 3GPP TS 44.004, Figure 5.1, transitioning from state
'DCH' directly to state 'BCH' is not permitted.  Speaking in terms
of the trxcon_fsm, the following state transitions are invalid:

* TRXCON_ST_DEDICATED -> TRXCON_ST_BCCH_CCCH,
* TRXCON_ST_PACKET_DATA -> TRXCON_ST_BCCH_CCCH.

We never do such transitions anyway, so we are good.

Change-Id: I14ebfc5c86d37765ad06fa91321a469dea46e50f
Related: OS#5599
This commit is contained in:
Vadim Yanitskiy 2022-11-26 06:03:47 +07:00 committed by fixeria
parent 5780e57dd4
commit 93b1884914
1 changed files with 2 additions and 4 deletions

View File

@ -597,8 +597,7 @@ static const struct osmo_fsm_state trxcon_fsm_states[] = {
[TRXCON_ST_DEDICATED] = {
.name = "DEDICATED",
.out_state_mask = S(TRXCON_ST_RESET)
| S(TRXCON_ST_FBSB_SEARCH)
| S(TRXCON_ST_BCCH_CCCH),
| S(TRXCON_ST_FBSB_SEARCH),
.in_event_mask = S(TRXCON_EV_DEDICATED_RELEASE_REQ)
| S(TRXCON_EV_TX_ACCESS_BURST_REQ)
| S(TRXCON_EV_TX_ACCESS_BURST_CNF)
@ -612,8 +611,7 @@ static const struct osmo_fsm_state trxcon_fsm_states[] = {
[TRXCON_ST_PACKET_DATA] = {
.name = "PACKET_DATA",
.out_state_mask = S(TRXCON_ST_RESET)
| S(TRXCON_ST_FBSB_SEARCH)
| S(TRXCON_ST_BCCH_CCCH),
| S(TRXCON_ST_FBSB_SEARCH),
.in_event_mask = S(TRXCON_EV_DEDICATED_RELEASE_REQ)
| S(TRXCON_EV_TX_ACCESS_BURST_REQ)
| S(TRXCON_EV_TX_ACCESS_BURST_CNF)