Commit f3e7a72e authored by Cedric Roux's avatar Cedric Roux

Merge remote-tracking branch 'origin/fix-cqi-update-2018-w06' into develop_integration_2018_w06

Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
parents 724970e2 c0bcd786
...@@ -3267,7 +3267,7 @@ extract_harq(module_id_t mod_idP, int CC_idP, int UE_id, ...@@ -3267,7 +3267,7 @@ extract_harq(module_id_t mod_idP, int CC_idP, int UE_id,
sched_ctl->round[CC_idP][harq_pid]++; // increment round sched_ctl->round[CC_idP][harq_pid]++; // increment round
} else { } else {
// one or two ACK/NAK bits // one or two ACK/NAK bits
AssertFatal(num_ack_nak > 2, AssertFatal(num_ack_nak <= 2,
"num_ack_nak %d > 2 for 1 CC and TM3/4/8/9/10\n", "num_ack_nak %d > 2 for 1 CC and TM3/4/8/9/10\n",
num_ack_nak); num_ack_nak);
if ((num_ack_nak == 2) if ((num_ack_nak == 2)
...@@ -3985,6 +3985,24 @@ UL_failure_indication(module_id_t mod_idP, int cc_idP, frame_t frameP, ...@@ -3985,6 +3985,24 @@ UL_failure_indication(module_id_t mod_idP, int cc_idP, frame_t frameP,
} }
} }
static int nack_or_dtx_reported(
COMMON_channels_t *cc,
nfapi_harq_indication_pdu_t *harq_pdu)
{
int i;
if (cc->tdd_Config) {
AssertFatal(0==1, "TDD to be done. FAPI structures (see nfapi_harq_indication_tdd_rel13_t) are not clean. To be cleaned as well?\n");
abort();
} else {
nfapi_harq_indication_fdd_rel13_t *hi = &harq_pdu->harq_indication_fdd_rel13;
for (i = 0; i < hi->number_of_ack_nack; hi++)
if (hi->harq_tb_n[i] != 1)
return 1;
return 0;
}
}
void void
harq_indication(module_id_t mod_idP, int CC_idP, frame_t frameP, harq_indication(module_id_t mod_idP, int CC_idP, frame_t frameP,
sub_frame_t subframeP, sub_frame_t subframeP,
...@@ -4013,7 +4031,8 @@ harq_indication(module_id_t mod_idP, int CC_idP, frame_t frameP, ...@@ -4013,7 +4031,8 @@ harq_indication(module_id_t mod_idP, int CC_idP, frame_t frameP,
extract_harq(mod_idP, CC_idP, UE_id, frameP, subframeP, extract_harq(mod_idP, CC_idP, UE_id, frameP, subframeP,
(void *) &harq_pdu->harq_indication_fdd_rel13, (void *) &harq_pdu->harq_indication_fdd_rel13,
channel); channel);
if (channel == 0) { /* don't care about cqi reporting if NACK/DTX is there */
if (channel == 0 && !nack_or_dtx_reported(cc, harq_pdu)) {
sched_ctl->pucch1_snr[CC_idP] = ul_cqi; sched_ctl->pucch1_snr[CC_idP] = ul_cqi;
sched_ctl->pucch1_cqi_update[CC_idP] = 1; sched_ctl->pucch1_cqi_update[CC_idP] = 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment