diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index 16b8ca0d0f4b8968ec0fd6136d0439392366b2e1..d5cf8b38876a2f4885a7396717f60bf843666441 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -839,11 +839,12 @@ printf("RUN fapi_schedule_retransmission_ue\n"); * TODO: do it better, only activate at subframe+8 if ACK received at subframe +4 */ if (d->ceBitmap[0]) { - if (d->ceBitmap[0] != ff_AD) { printf("%s:%d:%s: TODO\n", __FILE__, __LINE__, __FUNCTION__); abort(); } + if (d->ceBitmap[0] != ff_AD) { printf("%s:%d:%s: TODO\n", __FILE__, __LINE__, __FUNCTION__); /*abort();*/ } LOG_I(MAC, "FAPI: f/sf %d/%d rnti %d ca_activate %2.2x\n", frame, subframe, d->rnti, d->activationDeactivationCE); //mac_xface->ca_activate(module_id, d->rnti, d->activationDeactivationCE); -/* TODO: remove this hack */ -mac_xface->ca_activate(module_id, d->rnti, 2); + /* TODO: remove this hack */ + if (d->ceBitmap[0] == ff_AD) + mac_xface->ca_activate(module_id, d->rnti, 2); } UE_id = find_UE_id(module_id, d->rnti); @@ -949,11 +950,12 @@ printf("RUN fapi_schedule_ue\n"); * TODO: do it better, only activate at subframe+8 if ACK received at subframe +4 */ if (d->ceBitmap[0]) { - if (d->ceBitmap[0] != ff_AD) { printf("%s:%d:%s: TODO (bitmap %d)\n", __FILE__, __LINE__, __FUNCTION__, d->ceBitmap[0]); abort(); } + if (d->ceBitmap[0] != ff_AD) { printf("%s:%d:%s: TODO (bitmap %d)\n", __FILE__, __LINE__, __FUNCTION__, d->ceBitmap[0]); /*abort();*/ } LOG_I(MAC, "FAPI: f/sf %d/%d rnti %d ca_activate %2.2x\n", frame, subframe, d->rnti, d->activationDeactivationCE); //mac_xface->ca_activate(module_id, d->rnti, d->activationDeactivationCE); -/* TODO: remove this hack */ -mac_xface->ca_activate(module_id, d->rnti, 2); + /* TODO: remove this hack */ + if (d->ceBitmap[0] == ff_AD) + mac_xface->ca_activate(module_id, d->rnti, 2); } /* TODO: deal with MCS 29-31 @@ -1339,7 +1341,7 @@ printf("FAPI to MAC downlink schedule ue %x channel %d f/sf %d/%d\n", dlind.buil #endif switch (dlind.buildDataList[i].rlcPduList[0][0].logicalChannelIdentity) { case 0: /* CCCH */ - if (dlind.buildDataList[i].nr_rlcPDU_List[0] != 1) { printf("%s:%d:%s: TODO\n", __FILE__, __LINE__, __FUNCTION__); abort(); } + if (dlind.buildDataList[i].nr_rlcPDU_List[0] == 1) { /* TODO: get the right CC_id from servCellIndex, depending on the UE rnti/pcell/scell settings */ CC_id = dlind.buildDataList[i].servCellIndex; /* look for an active RA with generate_Msg4 == 2 for this rnti */ @@ -1354,6 +1356,9 @@ printf("FAPI to MAC downlink schedule ue %x channel %d f/sf %d/%d\n", dlind.buil } } if (j == NB_RA_PROC_MAX) { printf("%s:%d:%s: possible?\n", __FILE__, __LINE__, __FUNCTION__); /*abort();*/ } + } + else + printf("%s:%d:%s: TODO\n", __FILE__, __LINE__, __FUNCTION__); break; case 1: /* DCCH (SRB1) */ case 2: /* DCCH+1 (SRB2) */