diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-07-21 18:47:19 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-07-22 16:27:52 +0200 |
commit | e4f357ee3eee75c060c0e3d75128794907bd8006 (patch) | |
tree | 190b93765193097672e137f3b197e38307fb26f9 /openbsc/src/libmsc | |
parent | d8a6e0640246cf34f44979ebef91f25cb1c3c650 (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
Diffstat (limited to 'openbsc/src/libmsc')
-rw-r--r-- | openbsc/src/libmsc/osmo_msc.c | 4 | ||||
-rw-r--r-- | openbsc/src/libmsc/subscr_conn.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/openbsc/src/libmsc/osmo_msc.c b/openbsc/src/libmsc/osmo_msc.c index 869ca6462..8bb7c1f4a 100644 --- a/openbsc/src/libmsc/osmo_msc.c +++ b/openbsc/src/libmsc/osmo_msc.c @@ -217,10 +217,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; diff --git a/openbsc/src/libmsc/subscr_conn.c b/openbsc/src/libmsc/subscr_conn.c index 9d5dd5d2c..5219944d9 100644 --- a/openbsc/src/libmsc/subscr_conn.c +++ b/openbsc/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 */ @@ -238,6 +240,11 @@ static void subscr_conn_fsm_cleanup(struct osmo_fsm_inst *fi, * received from the UE, or a timeout expires. For now, the log * says "unknown UE" for each release outcome. */ + /* Clear A-Interface connection */ + if (conn->via_ran == RAN_GERAN_A) + a_iface_tx_clear_cmd(conn); + + msc_subscr_conn_put(conn); } |