Commit e9d04428 authored by wujing's avatar wujing

fix segfault because RRU uses RC.mac

parent 2700c3ae
...@@ -573,7 +573,10 @@ void UL_indication(UL_IND_t *UL_info) { ...@@ -573,7 +573,10 @@ void UL_indication(UL_IND_t *UL_info) {
int CC_id = UL_info->CC_id; int CC_id = UL_info->CC_id;
Sched_Rsp_t *sched_info = &Sched_INFO[module_id][CC_id]; Sched_Rsp_t *sched_info = &Sched_INFO[module_id][CC_id];
IF_Module_t *ifi = if_inst[module_id]; IF_Module_t *ifi = if_inst[module_id];
eNB_MAC_INST *mac = RC.mac[module_id]; eNB_MAC_INST *mac = NULL;
if (NFAPI_MODE != NFAPI_MODE_PNF) {
mac = RC.mac[module_id];
}
LOG_D(PHY,"SFN/SF:%d%d module_id:%d CC_id:%d UL_info[rx_ind:%d harqs:%d crcs:%d cqis:%d preambles:%d sr_ind:%d]\n", LOG_D(PHY,"SFN/SF:%d%d module_id:%d CC_id:%d UL_info[rx_ind:%d harqs:%d crcs:%d cqis:%d preambles:%d sr_ind:%d]\n",
UL_info->frame,UL_info->subframe, UL_info->frame,UL_info->subframe,
module_id,CC_id, module_id,CC_id,
...@@ -595,15 +598,16 @@ void UL_indication(UL_IND_t *UL_info) { ...@@ -595,15 +598,16 @@ void UL_indication(UL_IND_t *UL_info) {
} }
ifi->CC_mask |= (1<<CC_id); ifi->CC_mask |= (1<<CC_id);
}
// clear DL/UL info for new scheduling round // clear DL/UL info for new scheduling round
clear_nfapi_information(RC.mac[module_id],CC_id, clear_nfapi_information(RC.mac[module_id],CC_id,
UL_info->frame,UL_info->subframe); UL_info->frame,UL_info->subframe);
}
handle_rach(UL_info); handle_rach(UL_info);
handle_sr(UL_info); handle_sr(UL_info);
handle_cqi(UL_info); handle_cqi(UL_info);
handle_harq(UL_info); handle_harq(UL_info);
if (NFAPI_MODE != NFAPI_MODE_PNF) {
// clear HI prior to handling ULSCH // clear HI prior to handling ULSCH
uint8_t sf_ahead_dl = ul_subframe2_k_phich(&mac->common_channels[CC_id], UL_info->subframe); uint8_t sf_ahead_dl = ul_subframe2_k_phich(&mac->common_channels[CC_id], UL_info->subframe);
...@@ -611,7 +615,7 @@ void UL_indication(UL_IND_t *UL_info) { ...@@ -611,7 +615,7 @@ void UL_indication(UL_IND_t *UL_info) {
mac->HI_DCI0_req[CC_id][(UL_info->subframe+sf_ahead_dl)%10].hi_dci0_request_body.number_of_hi = 0; mac->HI_DCI0_req[CC_id][(UL_info->subframe+sf_ahead_dl)%10].hi_dci0_request_body.number_of_hi = 0;
LOG_D(MAC,"current (%d,%d) clear HI_DCI0_req[0][%d]\n",UL_info->frame,UL_info->subframe,(UL_info->subframe+sf_ahead_dl)%10); LOG_D(MAC,"current (%d,%d) clear HI_DCI0_req[0][%d]\n",UL_info->frame,UL_info->subframe,(UL_info->subframe+sf_ahead_dl)%10);
} }
}
handle_ulsch(UL_info); handle_ulsch(UL_info);
if (NFAPI_MODE != NFAPI_MODE_PNF) { if (NFAPI_MODE != NFAPI_MODE_PNF) {
......
...@@ -204,9 +204,9 @@ static inline int rxtx(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, char *thread_name ...@@ -204,9 +204,9 @@ static inline int rxtx(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, char *thread_name
wakeup_prach_eNB_br(eNB,NULL,proc->frame_rx,proc->subframe_rx); wakeup_prach_eNB_br(eNB,NULL,proc->frame_rx,proc->subframe_rx);
#endif #endif
} }
if (NFAPI_MODE==NFAPI_MODE_VNF) {
release_UE_in_freeList(eNB->Mod_id); release_UE_in_freeList(eNB->Mod_id);
}
// UE-specific RX processing for subframe n // UE-specific RX processing for subframe n
if (NFAPI_MODE==NFAPI_MONOLITHIC || NFAPI_MODE==NFAPI_MODE_PNF) { if (NFAPI_MODE==NFAPI_MONOLITHIC || NFAPI_MODE==NFAPI_MODE_PNF) {
phy_procedures_eNB_uespec_RX(eNB, proc); phy_procedures_eNB_uespec_RX(eNB, proc);
......
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