diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-17 15:05:57 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-17 15:05:57 +0800 |
commit | 86481c29d4cc9bed3010db466be6e0757458b031 (patch) | |
tree | a8b74f246eece8021115bce1b8c4f21bd97d5a2b /openbsc/src/paging.c | |
parent | 7b4a53d537a1d6cb6bfff2c65e3252c2a4ac0aa7 (diff) |
bsc_api: Make paging/silent call work with the subscriber_connection
Do not use the lchan for the paging but operate on the
subscriber_connection, change the signals too to not carry
the lchan but the subscriber connection... the silent call
and vty code still assume there is a lchan inside the
subscriber connection.
Diffstat (limited to 'openbsc/src/paging.c')
-rw-r--r-- | openbsc/src/paging.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c index ca3767864..eee2aaf98 100644 --- a/openbsc/src/paging.c +++ b/openbsc/src/paging.c @@ -194,7 +194,7 @@ static void paging_T3113_expired(void *data) sig_data.subscr = req->subscr; sig_data.bts = req->bts; - sig_data.lchan = NULL; + sig_data.conn = NULL; /* must be destroyed before calling cbfn, to prevent double free */ counter_inc(req->bts->network->stats.paging.expired); @@ -276,7 +276,7 @@ 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_lchan *lchan) + struct gsm_subscriber_connection *conn) { struct gsm_bts_paging_state *bts_entry = &bts->paging; struct gsm_paging_request *req, *req2; @@ -284,10 +284,10 @@ static void _paging_request_stop(struct gsm_bts *bts, struct gsm_subscriber *sub llist_for_each_entry_safe(req, req2, &bts_entry->pending_requests, entry) { if (req->subscr == subscr) { - if (lchan && req->cbfn) { + 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, lchan, req->cbfn_param); + NULL, conn, req->cbfn_param); } else LOGP(DPAG, LOGL_DEBUG, "Stop paging on bts %d silently.\n", bts->nr); paging_remove_request(&bts->paging, req); @@ -298,12 +298,12 @@ 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_lchan *lchan) + struct gsm_subscriber_connection *conn) { struct gsm_bts *bts = NULL; if (_bts) - _paging_request_stop(_bts, subscr, lchan); + _paging_request_stop(_bts, subscr, conn); do { /* |