aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/libmsc/gsm_04_08.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 2513659fb..657b9b4a9 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -1227,8 +1227,6 @@ static int handle_paging_resp(struct msgb *msg,
struct gsm_subscriber_connection *conn,
struct gsm_subscriber *subscr)
{
- struct subscr_request *req, *req2;
-
if (!conn->subscr) {
conn->subscr = subscr;
} else if (conn->subscr != subscr) {
@@ -1244,26 +1242,7 @@ static int handle_paging_resp(struct msgb *msg,
osmo_counter_inc(conn->network->stats.paging.completed);
- if (!subscr->is_paging) {
- LOGP(DRR, LOGL_ERROR, "Paging Response received for subscriber that is not paging\n");
- return -1;
- }
-
- llist_for_each_entry_safe(req, req2, &subscr->requests, entry) {
- gsm_cbfn *cbfn = req->cbfn;
- void *param = req->param;
-
- llist_del(&req->entry);
- req = NULL;
-
- if (cbfn) {
- LOGP(DPAG, LOGL_DEBUG, "Calling paging cbfn.\n");
- cbfn(GSM_HOOK_RR_PAGING, GSM_PAGING_SUCCEEDED,
- msg, conn, param);
- } else
- LOGP(DPAG, LOGL_DEBUG, "Paging without action.\n");
- }
- return 0;
+ return subscr_rx_paging_response(msg, conn);
}
/* Receive a PAGING RESPONSE message from the MS */