diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2019-05-11 02:45:46 +0700 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-05-13 20:15:04 +0000 |
commit | a870faf6744cdac7dad0df5ff75d7e534df1a1ac (patch) | |
tree | cf28de1f400decf3b67549170a08c4c747d79ae7 /src/libmsc/msc_ho.c | |
parent | 48a24cd85b7b28a39b06c66382aa550a57f78477 (diff) |
libmsc/msc_ho.c: fix unreacheable check of MSC-T role allocation
Change-Id: I46fa37ff27e8a4576fdc8edad894ee16759a6e7a
Fixes: CID#198413
Diffstat (limited to 'src/libmsc/msc_ho.c')
-rw-r--r-- | src/libmsc/msc_ho.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/libmsc/msc_ho.c b/src/libmsc/msc_ho.c index 3a4258c11..615b8cd70 100644 --- a/src/libmsc/msc_ho.c +++ b/src/libmsc/msc_ho.c @@ -463,9 +463,8 @@ static void msc_ho_fsm_wait_request_ack_onenter(struct osmo_fsm_inst *fi, uint32 msc_i->ran_conn->ran_peer->fi->id, rp->fi->id); } - msc_t_alloc(msc_a->c.msub, rp); - msc_ho_send_handover_request(msc_a); - return; + msc_t = msc_t_alloc(msc_a->c.msub, rp); + break; case MSC_NEIGHBOR_TYPE_REMOTE_MSC: ipa_name = msc_a->ho.new_cell.msc_ipa_name; @@ -482,22 +481,24 @@ static void msc_ho_fsm_wait_request_ack_onenter(struct osmo_fsm_inst *fi, uint32 osmo_quote_str(ipa_name, -1)); } - msc_t_remote_alloc(msc_a->c.msub, msc_a->c.ran, (const uint8_t*)ipa_name, strlen(ipa_name)); - msc_ho_send_handover_request(msc_a); - return; + msc_t = msc_t_remote_alloc(msc_a->c.msub, msc_a->c.ran, + (const uint8_t *) ipa_name, + strlen(ipa_name)); + break; default: msc_ho_try_next_cell(msc_a, "unknown Handover target type %d\n", msc_a->ho.new_cell.type); return; } - msc_t = msc_a_msc_t(msc_a); if (!msc_t) { /* There should definitely be one now. */ msc_ho_failed(msc_a, GSM0808_CAUSE_EQUIPMENT_FAILURE, "Cannot initiate Handover Request, failed to set up a target MSC-T\n"); return; } + + msc_ho_send_handover_request(msc_a); } static void msc_ho_rx_request_ack(struct msc_a *msc_a, struct msc_a_ran_dec_data *hra); |