diff options
-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) |