aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/paging.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/osmo-bsc/paging.c')
-rw-r--r--src/osmo-bsc/paging.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index c38d5c582..abe4c234e 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -409,6 +409,12 @@ static int _paging_request(const struct bsc_paging_params *params, struct gsm_bt
rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_ATTEMPTED));
+ /* don't try to queie more requests than we can realistically handle within 60s */
+ if (llist_count(&bts_entry->pending_requests) > paging_estimate_available_slots(bts, 60)) {
+ rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_PAGING_OVERLOAD));
+ return -ENOSPC;
+ }
+
/* Iterate list of pending requests to find if we already have one for
* the given subscriber. While on it, find the last
* not-yet-ever-once-transmitted request; the new request will be added