ho fsm: handle RR HO Failure for inter-BSC outgoing

Before, this would ignore the failure and hit a timeout instead. Rather handle
the event directly.

Change-Id: I21c43d2907d0413ef18ec43cf27f680ebecf9e82
This commit is contained in:
Neels Hofmeyr 2018-09-07 16:19:36 +02:00 committed by Neels Hofmeyr
parent 981f8b9347
commit c21681d870
1 changed files with 16 additions and 0 deletions

View File

@ -1025,6 +1025,18 @@ static void ho_out_fsm_wait_ho_command(struct osmo_fsm_inst *fi, uint32_t event,
}
}
static void ho_out_fsm_wait_clear(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct gsm_subscriber_connection *conn = ho_fi_conn(fi);
switch (event) {
case HO_EV_RR_HO_FAIL:
ho_fail(HO_RESULT_FAIL_RR_HO_FAIL, "Received RR Handover Failure message");
return;
default:
OSMO_ASSERT(false);
}
}
#define S(x) (1 << (x))
@ -1108,6 +1120,10 @@ static const struct osmo_fsm_state ho_fsm_states[] = {
},
[HO_OUT_ST_WAIT_CLEAR] = {
.name = "inter-BSC-OUT:WAIT_CLEAR",
.in_event_mask = 0
| S(HO_EV_RR_HO_FAIL)
,
.action = ho_out_fsm_wait_clear,
},
};