diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-11-06 22:24:07 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2018-11-14 16:16:30 +0000 |
commit | 5b1a7d1e9b8b21b4d4fa74cb5e7ffea14fa5fdb2 (patch) | |
tree | ec73d9f7fd59ad594573e9def7e8a7b5c7687bcf /src/osmo-bsc/handover_fsm.c | |
parent | d30922f7a384947f6766523180cad7b108c9d751 (diff) |
lchan release: always Deact SACCH
If an lchan is being released and had a SACCH active, there is no reason to
omit the Deact SACCH message ever. All of the callers that passed
do_deact_sacch = false did so for no good reason.
Drop the do_deact_sacch flag everywhere and, when the lchan type matches and
SAPI[0] is still active, simply always send a Deact SACCH message.
The do_deact_sacch flag was carried over from legacy code, by me, mainly
because I never really understood why it was there. I do hope I'm correct now,
asserting that having this flag makes no sense.
Change-Id: Id3301df059582da2377ef82feae554e94fa42035
Diffstat (limited to 'src/osmo-bsc/handover_fsm.c')
-rw-r--r-- | src/osmo-bsc/handover_fsm.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 8076eebfe..f2836cf37 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -243,7 +243,7 @@ static void handover_reset(struct gsm_subscriber_connection *conn) struct mgwep_ci *ci; if (conn->ho.new_lchan) /* New lchan was activated but never passed to a conn */ - lchan_release(conn->ho.new_lchan, true, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(conn->ho.new_lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); ci = conn->ho.created_ci_for_msc; if (ci) { @@ -725,7 +725,7 @@ void handover_end(struct gsm_subscriber_connection *conn, enum handover_result r /* 3GPP TS 48.008 3.1.5.3.3 "Abnormal Conditions": if neither MS reports * HO Failure nor the MSC sends a Clear Command, we should release the * dedicated radio resources and send a Clear Request to the MSC. */ - lchan_release(conn->lchan, false, true, true, GSM48_RR_CAUSE_ABNORMAL_TIMER); + lchan_release(conn->lchan, true, true, GSM48_RR_CAUSE_ABNORMAL_TIMER); /* Once the channel release is through, the BSSMAP Clear will follow. */ break; } @@ -756,7 +756,7 @@ void handover_end(struct gsm_subscriber_connection *conn, enum handover_result r /* Detach the new_lchan last, so we can still see it in above logging */ if (ho->new_lchan) { /* Release new lchan, it didn't work out */ - lchan_release(ho->new_lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(ho->new_lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); ho->new_lchan = NULL; } |