aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/assignment_fsm.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-11-06 22:24:07 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2018-11-14 16:16:30 +0000
commit5b1a7d1e9b8b21b4d4fa74cb5e7ffea14fa5fdb2 (patch)
treeec73d9f7fd59ad594573e9def7e8a7b5c7687bcf /src/osmo-bsc/assignment_fsm.c
parentd30922f7a384947f6766523180cad7b108c9d751 (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/assignment_fsm.c')
-rw-r--r--src/osmo-bsc/assignment_fsm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c
index 653681ed0..93362f85b 100644
--- a/src/osmo-bsc/assignment_fsm.c
+++ b/src/osmo-bsc/assignment_fsm.c
@@ -98,7 +98,7 @@ void assignment_reset(struct gsm_subscriber_connection *conn)
if (conn->assignment.new_lchan) {
struct gsm_lchan *lchan = conn->assignment.new_lchan;
conn->assignment.new_lchan = NULL;
- lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL);
+ lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL);
}
if (conn->assignment.created_ci_for_msc) {
@@ -213,7 +213,7 @@ static void assignment_success(struct gsm_subscriber_connection *conn)
if (!conn->assignment.fi) {
/* The lchan was ready, and we failed to tell the MSC about it. By releasing this lchan,
* the conn will notice that its primary lchan is gone and should clean itself up. */
- lchan_release(conn->lchan, false, true, true, RSL_ERR_EQUIPMENT_FAIL);
+ lchan_release(conn->lchan, true, true, RSL_ERR_EQUIPMENT_FAIL);
return;
}