|
|
@ -23,6 +23,7 @@
|
|
|
|
#include <string.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <strings.h>
|
|
|
|
#include <strings.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define SRSRAN_PDSCH_MIN_TDEC_ITERS 2
|
|
|
|
#define SRSRAN_PDSCH_MAX_TDEC_ITERS 10
|
|
|
|
#define SRSRAN_PDSCH_MAX_TDEC_ITERS 10
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef LV_HAVE_SSE
|
|
|
|
#ifdef LV_HAVE_SSE
|
|
|
@ -433,8 +434,9 @@ bool decode_tb_cb(srsran_sch_t* q,
|
|
|
|
crc_ptr = &q->crc_tb;
|
|
|
|
crc_ptr = &q->crc_tb;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// CRC is OK
|
|
|
|
// CRC is OK and ran the minimum number of iterations
|
|
|
|
if (!srsran_crc_checksum_byte(crc_ptr, &data[cb_idx * rlen / 8], len_crc)) {
|
|
|
|
if (!srsran_crc_checksum_byte(crc_ptr, &data[cb_idx * rlen / 8], len_crc) &&
|
|
|
|
|
|
|
|
(cb_noi >= SRSRAN_PDSCH_MIN_TDEC_ITERS)) {
|
|
|
|
softbuffer->cb_crc[cb_idx] = true;
|
|
|
|
softbuffer->cb_crc[cb_idx] = true;
|
|
|
|
early_stop = true;
|
|
|
|
early_stop = true;
|
|
|
|
|
|
|
|
|
|
|
|