diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-08-21 05:43:44 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-09-28 12:50:49 +0200 |
commit | 927f056f34ea8c1e29ba2ced246e7e9b3f5d688e (patch) | |
tree | f6f3fdf19465ee8f5d0f33f722cc768a8bf5d77a | |
parent | 45f9b3d3fc47074652be951eb74df2b0be2a230f (diff) |
[paging] Use paging_request_stop to stop all paging requests
This loop looks a lot like the one inside the paging code. Call
it instead and change the code in paging_request_stop to cope
with a NULL _bts.
-rw-r--r-- | openbsc/src/paging.c | 5 | ||||
-rw-r--r-- | openbsc/src/transaction.c | 10 |
2 files changed, 4 insertions, 11 deletions
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c index f540437a3..87c7e7d38 100644 --- a/openbsc/src/paging.c +++ b/openbsc/src/paging.c @@ -295,7 +295,8 @@ void paging_request_stop(struct gsm_bts *_bts, struct gsm_subscriber *subscr, { struct gsm_bts *bts = NULL; - _paging_request_stop(_bts, subscr, lchan); + if (_bts) + _paging_request_stop(_bts, subscr, lchan); do { /* @@ -304,7 +305,7 @@ void paging_request_stop(struct gsm_bts *_bts, struct gsm_subscriber *subscr, * location area of the _bts as reconfiguration of the * network is probably happening less often. */ - bts = gsm_bts_by_lac(_bts->network, subscr->lac, bts); + bts = gsm_bts_by_lac(subscr->net, subscr->lac, bts); if (!bts) break; diff --git a/openbsc/src/transaction.c b/openbsc/src/transaction.c index 8e2b0b638..950faa2f1 100644 --- a/openbsc/src/transaction.c +++ b/openbsc/src/transaction.c @@ -102,15 +102,7 @@ void trans_free(struct gsm_trans *trans) if (!trans->lchan && trans->subscr && trans->subscr->net) { /* Stop paging on all bts' */ - bts = NULL; - do { - bts = gsm_bts_by_lac(trans->subscr->net, - trans->subscr->lac, bts); - if (!bts) - break; - /* Stop paging */ - paging_request_stop(bts, trans->subscr, NULL); - } while (1); + paging_request_stop(NULL, trans->subscr, NULL); } if (trans->subscr) |