From c29043ea24198079d4b3f00fc6c482c69f3b68c4 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 28 Dec 2010 14:57:20 +0100 Subject: [PATCH] msc: Attempt to fix a bug with 'stuck' SMS due RF failure on auth If we have a RF failure between the paging response and the auth success we will not inform the subscriber layer of the failed paging and instead just 'drop' the SMS. In case we have not completed the auth and close the channel we will now send an auth failure. --- openbsc/src/gsm_04_08.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c index cf72e5971..94a620934 100644 --- a/openbsc/src/gsm_04_08.c +++ b/openbsc/src/gsm_04_08.c @@ -316,6 +316,13 @@ void gsm0408_clear_request(struct gsm_subscriber_connection *conn, uint32_t caus * operation taking place on the subscriber connection. */ release_loc_updating_req(conn); + + /* We might need to cancel the paging response or such. */ + if (conn->sec_operation && conn->sec_operation->cb) { + conn->sec_operation->cb(GSM_HOOK_RR_SECURITY, GSM_SECURITY_AUTH_FAILED, + NULL, conn, conn->sec_operation->cb_data); + } + release_security_operation(conn); release_anchor(conn);