From 3673380cdbefe74ae5ea5b4c05ebd9edcc023844 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 29 Jul 2016 18:10:59 +0200 Subject: [PATCH] dyn TS: bts_chan_load: use correct nr of subslots for dyn ts For TCH/F_TCH/H_PDCH dynamic timeslots, the ts->pchan does not lead to a meaningful value from the subslots_per_pchan[] array. Use the ts_subslots() function instead, which checks for dyn pchan. Change-Id: I659acebca82dfb3e305433471be64e9d27439af8 --- openbsc/src/libbsc/chan_alloc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c index c3a7e0f04..d9808f42e 100644 --- a/openbsc/src/libbsc/chan_alloc.c +++ b/openbsc/src/libbsc/chan_alloc.c @@ -555,12 +555,14 @@ void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) struct gsm_bts_trx_ts *ts = &trx->ts[i]; struct load_counter *pl = &cl->pchan[ts->pchan]; int j; + int subslots; /* skip administratively deactivated timeslots */ if (!nm_is_running(&ts->mo.nm_state)) continue; - for (j = 0; j < subslots_per_pchan[ts->pchan]; j++) { + subslots = ts_subslots(ts); + for (j = 0; j < subslots; j++) { struct gsm_lchan *lchan = &ts->lchan[j]; pl->total++;