aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/paging.h3
-rw-r--r--openbsc/src/gsm_04_08_utils.c2
-rw-r--r--openbsc/src/paging.c12
-rw-r--r--openbsc/src/transaction.c2
4 files changed, 11 insertions, 8 deletions
diff --git a/openbsc/include/openbsc/paging.h b/openbsc/include/openbsc/paging.h
index 9a7930dbc..68d8a6a95 100644
--- a/openbsc/include/openbsc/paging.h
+++ b/openbsc/include/openbsc/paging.h
@@ -60,7 +60,8 @@ int paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
/* stop paging requests */
void paging_request_stop(struct gsm_bts *bts, struct gsm_subscriber *subscr,
- struct gsm_subscriber_connection *conn);
+ struct gsm_subscriber_connection *conn,
+ struct msgb *msg);
/* update paging load */
void paging_update_buffer_space(struct gsm_bts *bts, u_int16_t);
diff --git a/openbsc/src/gsm_04_08_utils.c b/openbsc/src/gsm_04_08_utils.c
index e8d54ac98..b63293389 100644
--- a/openbsc/src/gsm_04_08_utils.c
+++ b/openbsc/src/gsm_04_08_utils.c
@@ -309,7 +309,7 @@ int gsm48_handle_paging_resp(struct gsm_subscriber_connection *conn,
dispatch_signal(SS_PAGING, S_PAGING_SUCCEEDED, &sig_data);
/* Stop paging on the bts we received the paging response */
- paging_request_stop(conn->bts, subscr, conn);
+ paging_request_stop(conn->bts, subscr, conn, msg);
return 0;
}
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c
index 18d41aa56..70f378a21 100644
--- a/openbsc/src/paging.c
+++ b/openbsc/src/paging.c
@@ -340,7 +340,8 @@ int paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
/* we consciously ignore the type of the request here */
static void _paging_request_stop(struct gsm_bts *bts, struct gsm_subscriber *subscr,
- struct gsm_subscriber_connection *conn)
+ struct gsm_subscriber_connection *conn,
+ struct msgb *msg)
{
struct gsm_bts_paging_state *bts_entry = &bts->paging;
struct gsm_paging_request *req, *req2;
@@ -351,7 +352,7 @@ static void _paging_request_stop(struct gsm_bts *bts, struct gsm_subscriber *sub
if (conn && req->cbfn) {
LOGP(DPAG, LOGL_DEBUG, "Stop paging on bts %d, calling cbfn.\n", bts->nr);
req->cbfn(GSM_HOOK_RR_PAGING, GSM_PAGING_SUCCEEDED,
- NULL, conn, req->cbfn_param);
+ msg, conn, req->cbfn_param);
} else
LOGP(DPAG, LOGL_DEBUG, "Stop paging on bts %d silently.\n", bts->nr);
paging_remove_request(&bts->paging, req);
@@ -362,12 +363,13 @@ static void _paging_request_stop(struct gsm_bts *bts, struct gsm_subscriber *sub
/* Stop paging on all other bts' */
void paging_request_stop(struct gsm_bts *_bts, struct gsm_subscriber *subscr,
- struct gsm_subscriber_connection *conn)
+ struct gsm_subscriber_connection *conn,
+ struct msgb *msg)
{
struct gsm_bts *bts = NULL;
if (_bts)
- _paging_request_stop(_bts, subscr, conn);
+ _paging_request_stop(_bts, subscr, conn, msg);
do {
/*
@@ -382,7 +384,7 @@ void paging_request_stop(struct gsm_bts *_bts, struct gsm_subscriber *subscr,
/* Stop paging */
if (bts != _bts)
- _paging_request_stop(bts, subscr, NULL);
+ _paging_request_stop(bts, subscr, NULL, NULL);
} while (1);
}
diff --git a/openbsc/src/transaction.c b/openbsc/src/transaction.c
index 59414a4a0..10bf4578f 100644
--- a/openbsc/src/transaction.c
+++ b/openbsc/src/transaction.c
@@ -98,7 +98,7 @@ void trans_free(struct gsm_trans *trans)
if (!trans->conn && trans->subscr && trans->subscr->net) {
/* Stop paging on all bts' */
- paging_request_stop(NULL, trans->subscr, NULL);
+ paging_request_stop(NULL, trans->subscr, NULL, NULL);
}
if (trans->subscr)