summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-08-03 11:19:35 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-08-03 12:02:14 +0200
commit469f992b2bf9fd3d80928d11ca50ef663bf5b90e (patch)
treef3ec457c41dfa1ac034e941af9154f1629d2114e
parentb618c7ec9bd29c471a153da833bb50089f48d2f6 (diff)
paging: In case paging failed stop it everywhere
In case we can't page on a BTS then stop it everywhere. The callers of paging_request assume that this is kind of an atomic operation and we should help with that.
-rw-r--r--openbsc/src/libbsc/paging.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c
index 8bc10e6..6b46c6d 100644
--- a/openbsc/src/libbsc/paging.c
+++ b/openbsc/src/libbsc/paging.c
@@ -341,8 +341,10 @@ int paging_request(struct gsm_network *network, struct gsm_subscriber *subscr,
break;
rc = paging_request_bts(bts, subscr, type, cbfn, data);
- if (rc < 0)
+ if (rc < 0) {
+ paging_request_stop(NULL, subscr, NULL, NULL);
return rc;
+ }
num_pages += rc;
} while (1);