aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc
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 /include/osmocom/bsc
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 'include/osmocom/bsc')
-rw-r--r--include/osmocom/bsc/bsc_subscr_conn_fsm.h2
-rw-r--r--include/osmocom/bsc/gsm_data.h1
-rw-r--r--include/osmocom/bsc/lchan_fsm.h2
3 files changed, 2 insertions, 3 deletions
diff --git a/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h
index fcdba503c..f5ed7bdd8 100644
--- a/include/osmocom/bsc/bsc_subscr_conn_fsm.h
+++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h
@@ -71,7 +71,7 @@ void gscon_start_assignment(struct gsm_subscriber_connection *conn,
struct assignment_request *req);
void gscon_change_primary_lchan(struct gsm_subscriber_connection *conn, struct gsm_lchan *new_lchan);
-void gscon_release_lchans(struct gsm_subscriber_connection *conn, bool do_sacch_deact, bool do_rr_release);
+void gscon_release_lchans(struct gsm_subscriber_connection *conn, bool do_rr_release);
void gscon_lchan_releasing(struct gsm_subscriber_connection *conn, struct gsm_lchan *lchan);
void gscon_forget_lchan(struct gsm_subscriber_connection *conn, struct gsm_lchan *lchan);
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 5805a5f0c..3712b9778 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -513,7 +513,6 @@ struct gsm_lchan {
/* If an event to release the lchan comes in while still waiting for responses, just mark this
* flag, so that the lchan will gracefully release at the next sensible junction. */
bool release_requested;
- bool deact_sacch;
bool do_rr_release;
char *last_error;
diff --git a/include/osmocom/bsc/lchan_fsm.h b/include/osmocom/bsc/lchan_fsm.h
index d3315a65e..48cd3836a 100644
--- a/include/osmocom/bsc/lchan_fsm.h
+++ b/include/osmocom/bsc/lchan_fsm.h
@@ -49,7 +49,7 @@ enum lchan_fsm_event {
void lchan_fsm_init();
void lchan_fsm_alloc(struct gsm_lchan *lchan);
-void lchan_release(struct gsm_lchan *lchan, bool do_deact_sacch, bool do_rr_release,
+void lchan_release(struct gsm_lchan *lchan, bool do_rr_release,
bool err, enum gsm48_rr_cause cause_rr);
struct lchan_activate_info {