diff --git a/src/host/layer23/src/mobile/gsm322.c b/src/host/layer23/src/mobile/gsm322.c index 07e67d36f..0b45f6052 100644 --- a/src/host/layer23/src/mobile/gsm322.c +++ b/src/host/layer23/src/mobile/gsm322.c @@ -1990,11 +1990,7 @@ struct gsm322_ba_list *gsm322_cs_sysinfo_sacch(struct osmocom_ms *ms) } /* collect system information received during dedicated mode */ - if (s->si5 - && (!s->nb_ext_ind_si5 - || (s->si5bis && s->nb_ext_ind_si5 && !s->nb_ext_ind_si5bis) - || (s->si5bis && s->si5ter && s->nb_ext_ind_si5 - && s->nb_ext_ind_si5bis))) { + if (s->si5 && (!s->nb_ext_ind_si5 || s->si5bis)) { /* find or create ba list */ ba = gsm322_find_ba_list(cs, s->mcc, s->mnc); if (!ba) { @@ -2189,18 +2185,14 @@ static int gsm322_c_scan_sysinfo_bcch(struct osmocom_ms *ms, struct msgb *msg) || gm->sysinfo == GSM48_MT_RR_SYSINFO_2ter) && s->si1 && s->si2 - && (!s->nb_ext_ind_si2 - || (s->si2bis && s->nb_ext_ind_si2 && !s->nb_ext_ind_si2bis) - || (s->si2bis && s->si2ter && s->nb_ext_ind_si2 - && s->nb_ext_ind_si2bis))) + && (!s->nb_ext_ind_si2 || s->si2bis) + && (!s->si2ter_ind || s->si2ter)) gsm322_store_ba_list(cs, s); /* all relevant system informations received */ if (s->si1 && s->si2 && s->si3 - && (!s->nb_ext_ind_si2 - || (s->si2bis && s->nb_ext_ind_si2 && !s->nb_ext_ind_si2bis) - || (s->si2bis && s->si2ter && s->nb_ext_ind_si2 - && s->nb_ext_ind_si2bis))) { + && (!s->nb_ext_ind_si2 || s->si2bis) + && (!s->si2ter_ind || s->si2ter)) { LOGP(DCS, LOGL_DEBUG, "Received relevant sysinfo.\n"); /* stop timer */ stop_cs_timer(cs); diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c index 03f44b58f..65fc05f30 100644 --- a/src/host/layer23/src/mobile/gsm48_rr.c +++ b/src/host/layer23/src/mobile/gsm48_rr.c @@ -2551,15 +2551,11 @@ static int gsm48_rr_tx_meas_rep(struct osmocom_ms *ms) /* check if SI5* is completely received, check BA-IND */ if (s->si5 - && (!s->nb_ext_ind_si5 - || (s->si5bis && s->nb_ext_ind_si5 && !s->nb_ext_ind_si5bis) - || (s->si5bis && s->si5ter && s->nb_ext_ind_si5 - && s->nb_ext_ind_si5bis))) { + && (!s->nb_ext_ind_si5 || s->si5bis)) { rep_ba = s->nb_ba_ind_si5; if ((s->si5bis && s->nb_ext_ind_si5 && s->nb_ba_ind_si5bis != rep_ba) - || (s->si5bis && s->si5ter && s->nb_ext_ind_si5 - && s->nb_ext_ind_si5bis && s->nb_ba_ind_si5ter != rep_ba)) { + || (s->si5ter && s->nb_ba_ind_si5ter != rep_ba)) { LOGP(DRR, LOGL_NOTICE, "BA-IND missmatch on SI5*"); } else rep_valid = 1; @@ -2581,8 +2577,7 @@ static int gsm48_rr_tx_meas_rep(struct osmocom_ms *ms) int i, index; /* multiband reporting, if not: 0 = normal reporting */ - if (s->si5 && s->si5bis && s->si5ter && s->nb_ext_ind_si5 - && s->nb_ext_ind_si5bis) + if (s->si5ter) multi_rep = s->nb_multi_rep_si5ter; /* get 6 strongest measurements */