Message ID | gerrit.1464868259650.Ie919bfcaabab5286cbbbb1dbda0c140c62289503@gerrit.osmocom.org |
---|---|
State | New |
Headers | show |
diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c index de9da81..8600846 100644 --- a/openbsc/src/libbsc/chan_alloc.c +++ b/openbsc/src/libbsc/chan_alloc.c @@ -75,12 +75,24 @@ _lc_find_trx(struct gsm_bts_trx *trx, enum gsm_phys_chan_config pchan) { struct gsm_bts_trx_ts *ts; - int j, ss; + int j, start, stop, dir, ss; if (!trx_is_usable(trx)) return NULL; - for (j = 0; j < 8; j++) { + if (trx->bts->chan_alloc_reverse) { + /* check TS 7..0 */ + start = 7; + stop = -1; + dir = -1; + } else { + /* check TS 0..7 */ + start = 0; + stop = 8; + dir = 1; + } + + for (j = start; j != stop; j += dir) { ts = &trx->ts[j]; if (!ts_is_usable(ts)) continue;