From: svaidhya Date: Wed, 6 Aug 2025 11:09:44 +0000 (+0000) Subject: [ODUHIGH-557][ODUHIGH-649] Crash happened when RX_DATA_IND is received at ODU-HIGH X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F94%2F14794%2F1;p=o-du%2Fl2.git [ODUHIGH-557][ODUHIGH-649] Crash happened when RX_DATA_IND is received at ODU-HIGH Change-Id: Idfbf3f14a16beab482ffd8fefded62139d37b038 Signed-off-by: svaidhya --- diff --git a/src/5gnrmac/lwr_mac_handle_phy.c b/src/5gnrmac/lwr_mac_handle_phy.c index d78556db8..032ce18e4 100644 --- a/src/5gnrmac/lwr_mac_handle_phy.c +++ b/src/5gnrmac/lwr_mac_handle_phy.c @@ -384,7 +384,7 @@ uint8_t procRxDataInd(fapi_rx_data_indication_t *fapiRxDataInd) #else pdu->handle = reverseBytes32(fapiRxDataInd->pdus[pduIdx].handle); pdu->rnti = reverseBytes16(fapiRxDataInd->pdus[pduIdx].rnti); - pdu->pduLength = reverseBytes16(fapiRxDataInd->pdus[pduIdx].pdu_length); + pdu->pduLength = reverseBytes32(fapiRxDataInd->pdus[pduIdx].pdu_length); pdu->timingAdvance = reverseBytes16(fapiRxDataInd->pdus[pduIdx].timingAdvance); pdu->rssi = reverseBytes16(fapiRxDataInd->pdus[pduIdx].rssi); #endif @@ -392,10 +392,18 @@ uint8_t procRxDataInd(fapi_rx_data_indication_t *fapiRxDataInd) pdu->ul_cqi = fapiRxDataInd->pdus[pduIdx].ul_cqi; MAC_ALLOC_SHRABL_BUF(pdu->pduData, pdu->pduLength); +#ifndef OAI_TESTING memcpy(pdu->pduData, fapiRxDataInd->pdus[pduIdx].pduData, pdu->pduLength); #ifdef INTEL_WLS_MEM /* Free WLS memory allocated for Rx PDU */ WLS_MEM_FREE(fapiRxDataInd->pdus[pduIdx].pduData, LWR_MAC_WLS_BUF_SIZE); +#endif +#else + memcpy(pdu->pduData, &fapiRxDataInd->pdus[pduIdx].pduData, pdu->pduLength); + for(int i=0;ipduLength;i++) + { + printf("\n0x%x",(uint8_t *)pdu->pduData[i]); + } #endif } @@ -631,7 +639,7 @@ void procPhyMessages(uint16_t msgType, uint32_t msgSize, void *msg) #ifdef CALL_FLOW_DEBUG_LOG callFlowFromPhyToLwrMac(header->msg_id); #endif - + switch(header->msg_id) { #ifdef INTEL_TIMER_MODE diff --git a/src/5gnrmac/mac_demux.c b/src/5gnrmac/mac_demux.c index 02b9e113b..2575c0df3 100644 --- a/src/5gnrmac/mac_demux.c +++ b/src/5gnrmac/mac_demux.c @@ -89,6 +89,7 @@ uint8_t unpackRxData(uint16_t cellId, SlotTimingInfo slotInfo, RxDataIndPdu *rxD switch(lcId) { case MAC_LCID_CCCH : + case MAC_LCID_CCCH_48BIT : { pduLen--; @@ -148,35 +149,21 @@ uint8_t unpackRxData(uint16_t cellId, SlotTimingInfo slotInfo, RxDataIndPdu *rxD break; } - case MAC_LCID_RESERVED_MIN ... MAC_LCID_RESERVED_MAX : - break; - - case MAC_LCID_CCCH_48BIT : - break; + case MAC_LCID_RESERVED_MIN ... MAC_LCID_RESERVED_MAX : case MAC_LCID_BIT_RATE_QUERY : - break; - case MAC_LCID_MULT_PHR_FOUR_OCT : - break; - case MAC_LCID_CFG_GRANT_CFM : - break; - case MAC_LCID_MULT_PHR_ONE_OCT: - break; - case MAC_LCID_SINGLE_PHR : - break; - case MAC_LCID_CRNTI : - break; - case MAC_LCID_SHORT_TRUNC_BSR : - break; - case MAC_LCID_LONG_TRUNC_BSR : - break; + { + DU_LOG("\nERROR --> MAC_DEMUX: LCID:%d is not supported yet, Please add the handling in code thus exiting", lcId); + pduLen = 0; + break; + } case MAC_LCID_SHORT_BSR : { diff --git a/src/intel_fapi/fapi_interface.h b/src/intel_fapi/fapi_interface.h index 3444fceea..9edc91edf 100644 --- a/src/intel_fapi/fapi_interface.h +++ b/src/intel_fapi/fapi_interface.h @@ -1486,7 +1486,7 @@ typedef struct { uint32_t handle; uint16_t rnti; uint8_t harqId; - uint16_t pdu_length; + uint32_t pdu_length; uint8_t ul_cqi; uint16_t timingAdvance; uint16_t rssi;