diff --git a/lib/src/phy/phch/ra.c b/lib/src/phy/phch/ra.c index 735794e35..17866f5d3 100644 --- a/lib/src/phy/phch/ra.c +++ b/lib/src/phy/phch/ra.c @@ -590,11 +590,12 @@ int srslte_ra_dl_dci_to_grant(srslte_ra_dl_dci_t *dci, ret = dl_dci_to_grant_mcs(dci, grant, crc_is_crnti); if (ret == SRSLTE_SUCCESS) { // Apply Section 7.1.7.3. If RA-RNTI and Format1C rv_idx=0 - if (msg_rnti >= SRSLTE_RARNTI_START && msg_rnti <= SRSLTE_RARNTI_END && - dci->dci_is_1c) - { - dci->rv_idx = 0; - } + if (dci->dci_is_1c) { + if ((msg_rnti >= SRSLTE_RARNTI_START && msg_rnti <= SRSLTE_RARNTI_END) || msg_rnti == SRSLTE_PRNTI) + { + dci->rv_idx = 0; + } + } } else { return SRSLTE_ERROR; } diff --git a/srsue/src/phy/phch_worker.cc b/srsue/src/phy/phch_worker.cc index cf0eab94c..3629424ac 100644 --- a/srsue/src/phy/phch_worker.cc +++ b/srsue/src/phy/phch_worker.cc @@ -535,7 +535,7 @@ int phch_worker::decode_pdsch(srslte_ra_dl_grant_t *grant, uint8_t *payload[SRSL for (uint32_t tb = 0; tb < SRSLTE_MAX_CODEWORDS; tb++) { if (grant->tb_en[tb] && (rv[tb] < 0 || rv[tb] > 3)) { valid_config = false; - Error("Wrong RV (%d) for TB index %d", rv[tb], tb); + Error("Wrong RV (%d) for TB index %d\n", rv[tb], tb); } } @@ -645,6 +645,9 @@ int phch_worker::decode_pdsch(srslte_ra_dl_grant_t *grant, uint8_t *payload[SRSL Error("Error configuring DL grant\n"); ret = SRSLTE_ERROR; } + } else { + Error("Error invalid DL config\n"); + ret = SRSLTE_ERROR; } return ret; }