diff --git a/srsue/src/phy/nr/cc_worker.cc b/srsue/src/phy/nr/cc_worker.cc index e12f8e230..f24b6bd30 100644 --- a/srsue/src/phy/nr/cc_worker.cc +++ b/srsue/src/phy/nr/cc_worker.cc @@ -215,13 +215,20 @@ bool cc_worker::work_dl() srsran_sch_cfg_nr_t pdsch_cfg = {}; srsran_pdsch_ack_resource_nr_t ack_resource = {}; if (phy->get_dl_pending_grant(dl_slot_cfg.idx, pdsch_cfg, ack_resource, pid)) { + // As HARQ processes are not implemented nor LDPC early-stop, retransmissions are disabled for performance reasons + if (pdsch_cfg.grant.tb[0].rv != 0) { + phy->set_pending_ack(dl_slot_cfg.idx, ack_resource, false); + logger.warning("PDSCH Retransmission with rv=%d not supported", pdsch_cfg.grant.tb[0].rv); + return true; + } + // Get data buffer srsran::unique_byte_buffer_t data = srsran::make_byte_buffer(); if (data == nullptr) { logger.error("Couldn't allocate PDU in %s().", __FUNCTION__); return false; } - data->N_bytes = pdsch_cfg.grant.tb[0].tbs / 8U; + data->N_bytes = pdsch_cfg.grant.tb[0].tbs / 8U; // Get soft-buffer from MAC // ...