[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.
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c
index f540437..87c7e7d 100644
--- a/openbsc/src/paging.c
+++ b/openbsc/src/paging.c
@@ -295,7 +295,8 @@
 {
 	struct gsm_bts *bts = NULL;
 
-	_paging_request_stop(_bts, subscr, lchan);
+	if (_bts)
+		_paging_request_stop(_bts, subscr, lchan);
 
 	do {
 		/*
@@ -304,7 +305,7 @@
 		 * 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 8e2b0b6..950faa2 100644
--- a/openbsc/src/transaction.c
+++ b/openbsc/src/transaction.c
@@ -102,15 +102,7 @@
 
 	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)