aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/ussd.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-06-30 12:15:19 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-06-30 12:15:19 +0800
commit2486663844ab755fa52ea2c39c90d9e78645afc2 (patch)
tree51283c8ff1eb68be79a7a97264ff252b55c61008 /openbsc/src/ussd.c
parent0379c6d386e1e5c0b1142e672697efc0eee85677 (diff)
ussd: Release the MSC connection as fast as possible..
Diffstat (limited to 'openbsc/src/ussd.c')
-rw-r--r--openbsc/src/ussd.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/openbsc/src/ussd.c b/openbsc/src/ussd.c
index 692df5bae..3c27646f2 100644
--- a/openbsc/src/ussd.c
+++ b/openbsc/src/ussd.c
@@ -54,11 +54,15 @@ int handle_rcv_ussd(struct gsm_subscriber_connection *conn, struct msgb *msg)
if (strstr(USSD_TEXT_OWN_NUMBER, req.text) != NULL) {
DEBUGP(DMM, "USSD: Own number requested\n");
- return send_own_number(conn, msg, &req);
+ rc = send_own_number(conn, msg, &req);
} else {
DEBUGP(DMM, "Unhandled USSD %s\n", req.text);
- return gsm0480_send_ussd_reject(conn, msg, &req);
+ rc = gsm0480_send_ussd_reject(conn, msg, &req);
}
+
+ /* check if we can release it */
+ msc_release_connection(conn);
+ return rc;
}
/* A network-specific handler function */