diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-07-21 18:47:19 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-07-25 15:15:22 +0200 |
commit | 09db3b69ed9416864b602fcb74ace76dca1bc786 (patch) | |
tree | 5428bbb7b669d668a91dfdd221e32a086f12da85 | |
parent | 4ebab468473c9dbe2b1decb0a3bf17f3d080a7aa (diff) |
a-iface: move clear command to subscriber_conn.c
The clear command is currently triggered from the wrong place.
This is a fixup that corrects that. However, it will introduce
another problem: The clear command is not sent on detach.
Adjust test expectations.
Change-Id: Ia27d7e94cb11adf351457b3b0e98a5c9d5070fbf
-rw-r--r-- | src/libmsc/osmo_msc.c | 6 | ||||
-rw-r--r-- | src/libmsc/subscr_conn.c | 3 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/libmsc/osmo_msc.c b/src/libmsc/osmo_msc.c index 8105795a1..866cfbd07 100644 --- a/src/libmsc/osmo_msc.c +++ b/src/libmsc/osmo_msc.c @@ -229,10 +229,6 @@ void msc_subscr_con_cleanup(struct gsm_subscriber_connection *conn) DEBUGP(DRLL, "Freeing subscriber connection" " with NULL subscriber\n"); - /* Clear A-Interface connection */ - if (conn->via_ran == RAN_GERAN_A) - a_iface_tx_clear_cmd(conn); - if (!conn->conn_fsm) return; @@ -295,7 +291,7 @@ static void msc_subscr_conn_release_all(struct gsm_subscriber_connection *conn, * says "unknown UE" for each release outcome. */ break; case RAN_GERAN_A: - /* future: a_iface_tx_clear_cmd(conn); */ + a_iface_tx_clear_cmd(conn); break; default: LOGP(DMM, LOGL_ERROR, "%s: Unknown RAN type, cannot tx release/clear\n", diff --git a/src/libmsc/subscr_conn.c b/src/libmsc/subscr_conn.c index 31decc7b3..2bba1a826 100644 --- a/src/libmsc/subscr_conn.c +++ b/src/libmsc/subscr_conn.c @@ -31,6 +31,8 @@ #include <openbsc/transaction.h> #include <openbsc/signal.h> #include <openbsc/iu.h> +#include <openbsc/a_iface.h> + #define SUBSCR_CONN_TIMEOUT 5 /* seconds */ @@ -226,7 +228,6 @@ static void subscr_conn_fsm_cleanup(struct osmo_fsm_inst *fi, conn->conn_fsm = NULL; msc_subscr_conn_close(conn, cause); - msc_subscr_conn_put(conn); } int subscr_conn_fsm_timeout(struct osmo_fsm_inst *fi) |