From e053241dbd669b13ce52d1d1790f4e8ea3136390 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Tue, 6 Nov 2018 21:42:03 +0100 Subject: lchan: set cause for 4 instances of release_in_error = true Make sure some RSL cause is set. Change-Id: I372ade9fc58919fbf858ce14caab8a0a22dbb083 --- src/osmo-bsc/lchan_fsm.c | 3 +++ src/osmo-bsc/lchan_rtp_fsm.c | 1 + 2 files changed, 4 insertions(+) diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 20c70a7c8..4fb954a7b 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1056,6 +1056,7 @@ static void lchan_fsm_borken(struct osmo_fsm_inst *fi, uint32_t event, void *dat case LCHAN_EV_RSL_CHAN_ACTIV_ACK: /* A late Chan Activ ACK? Release. */ lchan->release.release_in_error = true; + lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan_fsm_state_chg(LCHAN_ST_WAIT_RF_RELEASE_ACK); return; @@ -1067,6 +1068,7 @@ static void lchan_fsm_borken(struct osmo_fsm_inst *fi, uint32_t event, void *dat case LCHAN_EV_RSL_RF_CHAN_REL_ACK: /* A late Release ACK? */ lchan->release.release_in_error = true; + lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan_fsm_state_chg(LCHAN_ST_WAIT_AFTER_ERROR); /* TODO: we used to do this only for sysmobts: int do_free = is_sysmobts_v2(ts->trx->bts); @@ -1291,6 +1293,7 @@ int lchan_fsm_timer_cb(struct osmo_fsm_inst *fi) default: lchan->release.release_in_error = true; + lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan_fail("Timeout"); return 0; } diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index dd42fc427..b6aa39c41 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -725,6 +725,7 @@ int lchan_rtp_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct gsm_lchan *lchan = lchan_rtp_fi_lchan(fi); lchan->release.release_in_error = true; + lchan->release.rsl_error_cause = RSL_ERR_EQUIPMENT_FAIL; lchan_rtp_fail("Timeout"); return 0; } -- cgit v1.2.3