aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-07-16 16:20:53 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-07-28 12:18:23 +0200
commit2fc79dd2207b0c2a563edddea13f7ebda9213e70 (patch)
tree03fa1123a0fbd618e8d83b05bd350b7bf9835e73 /src
parentd5df9a1d0d996acf0d090793231cae3346f6fbd4 (diff)
allocate larger lchans if no SDCCH are available
Diffstat (limited to 'src')
-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 8b14b499c..d72bfa39d 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -1389,6 +1389,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);