aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libbsc/paging.c6
-rw-r--r--src/libcommon/gsm_data_shared.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/libbsc/paging.c b/src/libbsc/paging.c
index 8d54d0a5e..d657bd306 100644
--- a/src/libbsc/paging.c
+++ b/src/libbsc/paging.c
@@ -240,7 +240,11 @@ static void paging_init_if_needed(struct gsm_bts *bts)
return;
bts->paging.bts = bts;
- INIT_LLIST_HEAD(&bts->paging.pending_requests);
+
+ /* This should be initialized only once. There is currently no code that sets bts->paging.bts
+ * back to NULL, so let's just assert this one instead of graceful handling. */
+ OSMO_ASSERT(llist_empty(&bts->paging.pending_requests));
+
osmo_timer_setup(&bts->paging.work_timer, paging_worker,
&bts->paging);
diff --git a/src/libcommon/gsm_data_shared.c b/src/libcommon/gsm_data_shared.c
index 2f7e7e353..30ef1cafe 100644
--- a/src/libcommon/gsm_data_shared.c
+++ b/src/libcommon/gsm_data_shared.c
@@ -364,7 +364,10 @@ struct gsm_bts *gsm_bts_alloc(struct gsm_network *net, uint8_t bts_num)
bts->rach_b_thresh = -1;
bts->rach_ldavg_slots = -1;
+
bts->paging.free_chans_need = -1;
+ INIT_LLIST_HEAD(&bts->paging.pending_requests);
+
bts->features.data = &bts->_features_data[0];
bts->features.data_len = sizeof(bts->_features_data);