diff options
Diffstat (limited to 'openbsc/src/libbsc/bsc_api.c')
-rw-r--r-- | openbsc/src/libbsc/bsc_api.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/openbsc/src/libbsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c index 54978e50c..08a5bdf4c 100644 --- a/openbsc/src/libbsc/bsc_api.c +++ b/openbsc/src/libbsc/bsc_api.c @@ -32,6 +32,7 @@ #include <openbsc/debug.h> #include <openbsc/gsm_04_08.h> #include <openbsc/trau_mux.h> +#include <openbsc/vlr.h> #include <osmocom/gsm/protocol/gsm_08_08.h> #include <osmocom/gsm/gsm48.h> @@ -262,13 +263,14 @@ void bsc_subscr_con_free(struct gsm_subscriber_connection *conn) if (!conn) return; + if (conn->network->bsc_api->conn_cleanup) + conn->network->bsc_api->conn_cleanup(conn); - if (conn->subscr) { - subscr_put(conn->subscr); - conn->subscr = NULL; + if (conn->vsub) { + LOGP(DNM, LOGL_ERROR, "conn->vsub should have been cleared.\n"); + conn->vsub = NULL; } - if (conn->ho_lchan) { LOGP(DNM, LOGL_ERROR, "The ho_lchan should have been cleared.\n"); conn->ho_lchan->conn = NULL; |