aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-07-16 16:20:53 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-07-16 16:24:58 +0200
commitb0dcf068f4fa784441b18f8fe2c1eca9fb540325 (patch)
tree237519e5f10ebb6ee3197ebe3c2195b2268e7317
parent550900b1c2fe8be095d80c245b24a8c95d21bc6a (diff)
allocate larger lchans if no SDCCH are available
-rw-r--r--src/osmo-bsc/abis_rsl.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 90f29ddc8..2b4f8ad39 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -1394,6 +1394,22 @@ static int rsl_rx_chan_rqd(struct msgb *msg)
gsm_lchant_name(lctype));
lchan = lchan_select_by_type(bts, lctype);
}
+ if (!lchan && lctype == GSM_LCHAN_SDCCH) {
+ LOGP(DRSL, LOGL_NOTICE, "(bts=%d) CHAN RQD: no resources for %s "
+ "0x%x, retrying with %s\n",
+ msg->lchan->ts->trx->bts->nr,
+ gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra,
+ gsm_lchant_name(GSM_LCHAN_TCH_H));
+ lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H);
+ }
+ if (!lchan && lctype == GSM_LCHAN_SDCCH) {
+ LOGP(DRSL, LOGL_NOTICE, "(bts=%d) CHAN RQD: no resources for %s "
+ "0x%x, retrying with %s\n",
+ msg->lchan->ts->trx->bts->nr,
+ gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra,
+ gsm_lchant_name(GSM_LCHAN_TCH_F));
+ lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F);
+ }
if (!lchan) {
LOGP(DRSL, LOGL_NOTICE, "(bts=%d) CHAN RQD: no resources for %s 0x%x\n",
msg->lchan->ts->trx->bts->nr, gsm_lchant_name(lctype), rqd_ref->ra);