diff options
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/chan_alloc.c | 2 | ||||
-rw-r--r-- | openbsc/src/paging.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/openbsc/src/chan_alloc.c b/openbsc/src/chan_alloc.c index abf4de891..8141e4774 100644 --- a/openbsc/src/chan_alloc.c +++ b/openbsc/src/chan_alloc.c @@ -47,7 +47,7 @@ static int ts_is_usable(struct gsm_bts_trx_ts *ts) return 1; } -static int trx_is_usable(struct gsm_bts_trx *trx) +int trx_is_usable(struct gsm_bts_trx *trx) { /* FIXME: How does this behave for BS-11 ? */ if (is_ipaccess_bts(trx->bts)) { diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c index 820773a9e..b5dc2d052 100644 --- a/openbsc/src/paging.c +++ b/openbsc/src/paging.c @@ -265,6 +265,11 @@ int paging_request(struct gsm_network *network, struct gsm_subscriber *subscr, bts = gsm_bts_by_lac(network, subscr->lac, bts); if (!bts) break; + + /* skip all currently inactive TRX */ + if (!trx_is_usable(bts->c0)) + continue; + num_pages++; /* Trigger paging, pass any error to caller */ |