diff --git a/openbsc/src/bsc_init.c b/openbsc/src/bsc_init.c index 622fb98cd..617d4ae44 100644 --- a/openbsc/src/bsc_init.c +++ b/openbsc/src/bsc_init.c @@ -802,8 +802,10 @@ static int bootstrap_bts(struct gsm_bts *bts) } break; case GSM_BAND_900: - if (bts->c0->arfcn < 1 || bts->c0->arfcn > 124) { - LOGP(DNM, LOGL_ERROR, "GSM900 channel must be between 1-124.\n"); + if (bts->c0->arfcn < 1 || + (bts->c0->arfcn > 124 && bts->c0->arfcn < 955) || + bts->c0->arfcn > 1023) { + LOGP(DNM, LOGL_ERROR, "GSM900 channel must be between 1-124, 955-1023.\n"); return -EINVAL; } break;