aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2017-07-21 18:47:19 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2017-07-25 15:15:22 +0200
commit09db3b69ed9416864b602fcb74ace76dca1bc786 (patch)
tree5428bbb7b669d668a91dfdd221e32a086f12da85
parent4ebab468473c9dbe2b1decb0a3bf17f3d080a7aa (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.c6
-rw-r--r--src/libmsc/subscr_conn.c3
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)