From 0abc3f2f45566bb64f2417a47ca73b9e1a6710c1 Mon Sep 17 00:00:00 2001 From: Alexander Chemeris Date: Wed, 6 May 2020 02:25:21 +0300 Subject: Count dynamic timeslots as TCH/F for the channel load purposes. Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b --- src/osmo-bsc/chan_alloc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 669eb8edb..9c5d0dd44 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -51,13 +51,22 @@ void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { struct gsm_bts_trx_ts *ts = &trx->ts[i]; - struct load_counter *pl = &cl->pchan[ts->pchan_on_init]; +// enum gsm_phys_chan_config pchan = ts->pchan_on_init; + enum gsm_phys_chan_config pchan = ts->pchan_is; + struct load_counter *pl = &cl->pchan[pchan]; struct gsm_lchan *lchan; /* skip administratively deactivated timeslots */ if (!nm_is_running(&ts->mo.nm_state)) continue; + if ( ( ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH + || ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) + && ( ts->pchan_is == GSM_PCHAN_NONE + || ts->pchan_is == GSM_PCHAN_PDCH)) { + cl->pchan[GSM_PCHAN_TCH_F].total++; + } + ts_for_each_lchan(lchan, ts) { /* don't even count CBCH slots in total */ if (lchan->type == GSM_LCHAN_CBCH) -- cgit v1.2.3