diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libbsc/paging.c | 6 | ||||
-rw-r--r-- | src/libcommon/gsm_data_shared.c | 3 |
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); |