SI3 is required in order to request a channel the correct way. If not
yet received, the process crashes due to an arithmetic exception.
if (cs->ccch_state != GSM322_CCCH_ST_DATA) {
LOGP(DRR, LOGL_INFO, "CCCH channel activation failed.\n");
-
+fail:
if (rr->rr_est_req) {
struct msgb *msg =
gsm48_rr_msgb_alloc(GSM48_RR_REL_IND);
return 0;
}
+ if (!s || !s->si3 || !s->tx_integer) {
+ LOGP(DRR, LOGL_NOTICE, "Not enough SYSINFO\n");
+ goto fail;
+ }
+
if (rr->state == GSM48_RR_ST_IDLE) {
LOGP(DRR, LOGL_INFO, "MM already released RR.\n");