Commit ef9f804d authored by Ejaz Ahmed's avatar Ejaz Ahmed

Adjusted loop execution to fix muliple SDUs placement before MAC CEs and padding

parents 3370570e a465e39b
...@@ -3368,36 +3368,36 @@ bool nr_ue_sl_pssch_scheduler(NR_UE_MAC_INST_t *mac, ...@@ -3368,36 +3368,36 @@ bool nr_ue_sl_pssch_scheduler(NR_UE_MAC_INST_t *mac,
LOG_D(NR_MAC, "In %s: no data to transmit for RB with LCID 0x%02x\n", __FUNCTION__, lcid); LOG_D(NR_MAC, "In %s: no data to transmit for RB with LCID 0x%02x\n", __FUNCTION__, lcid);
break; break;
} }
}
NR_UE_MAC_CE_INFO *mac_ce_p = (NR_UE_MAC_CE_INFO *) pdu; NR_UE_MAC_CE_INFO *mac_ce_p = (NR_UE_MAC_CE_INFO *) pdu;
mac_ce_p->bsr_len = 0; mac_ce_p->bsr_len = 0;
mac_ce_p->bsr_ce_len = 0; mac_ce_p->bsr_ce_len = 0;
mac_ce_p->bsr_header_len = 0; mac_ce_p->bsr_header_len = 0;
mac_ce_p->phr_len = 0; mac_ce_p->phr_len = 0;
mac_ce_p->sdu_length_total = sdu_length_total; mac_ce_p->sdu_length_total = sdu_length_total;
mac_ce_p->total_mac_pdu_header_len = total_mac_pdu_header_len; mac_ce_p->total_mac_pdu_header_len = total_mac_pdu_header_len;
LOG_D(NR_MAC, "[UE%d] TTI-%d:%d TX PSCCH_PSSCH REQ TBS %d\n", sl_ind->module_id, frame, slot, buflen); LOG_D(NR_MAC, "[UE%d] TTI-%d:%d TX PSCCH_PSSCH REQ TBS %d\n", sl_ind->module_id, frame, slot, buflen);
//nr_ue_get_sdu_mac_ce_pre updates all mac_ce related header field related to length //nr_ue_get_sdu_mac_ce_pre updates all mac_ce related header field related to length
mac_ce_p->tot_mac_ce_len = nr_ue_get_sdu_mac_ce_pre(0, 0, frame, slot, 0, pdu, buflen, mac_ce_p); mac_ce_p->tot_mac_ce_len = nr_ue_get_sdu_mac_ce_pre(0, 0, frame, slot, 0, pdu, buflen, mac_ce_p);
buflen_remain -= mac_ce_p->tot_mac_ce_len; buflen_remain -= mac_ce_p->tot_mac_ce_len;
LOG_D(NR_PHY, "buflen_remain %d, total_mac_pdu_header_len %d, adding tot_mac_ce_len %d, \n", buflen_remain, mac_ce_p->total_mac_pdu_header_len, mac_ce_p->tot_mac_ce_len); LOG_D(NR_PHY, "buflen_remain %d, total_mac_pdu_header_len %d, adding tot_mac_ce_len %d, \n", buflen_remain, mac_ce_p->total_mac_pdu_header_len, mac_ce_p->tot_mac_ce_len);
if (buflen_remain > 0) { if (buflen_remain > 0) {
LOG_D(NR_MAC, "In %s filling remainder %d bytes to the UL PDU \n", __FUNCTION__, buflen_remain); LOG_D(NR_MAC, "In %s filling remainder %d bytes to the UL PDU \n", __FUNCTION__, buflen_remain);
((NR_MAC_SUBHEADER_FIXED *) pdu)->R = 0; ((NR_MAC_SUBHEADER_FIXED *) pdu)->R = 0;
((NR_MAC_SUBHEADER_FIXED *) pdu)->LCID = SL_SCH_LCID_SL_PADDING; ((NR_MAC_SUBHEADER_FIXED *) pdu)->LCID = SL_SCH_LCID_SL_PADDING;
pdu++; pdu++;
buflen_remain--; buflen_remain--;
if (IS_SOFTMODEM_RFSIM) { if (IS_SOFTMODEM_RFSIM) {
for (int j = 0; j < buflen_remain; j++) { for (int j = 0; j < buflen_remain; j++) {
pdu[j] = (unsigned char) rand(); pdu[j] = (unsigned char) rand();
}
} else {
memset(pdu, 0, buflen_remain);
} }
} else {
memset(pdu, 0, buflen_remain);
} }
} }
return true; return true;
......
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