diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-12-28 14:57:20 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-12-28 15:15:24 +0100 |
commit | cc28b0976798d6b403df8e5d1ca0a791af155b99 (patch) | |
tree | 553d3a2908145218d39787e5b8db7a1140138e03 /openbsc/src | |
parent | 58d4190d8c18e190ccde7d42e0e488f9c05eb3b3 (diff) |
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.
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/gsm_04_08.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c index d661e1a8c..b0f3dd913 100644 --- a/openbsc/src/gsm_04_08.c +++ b/openbsc/src/gsm_04_08.c @@ -317,6 +317,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); |