Commit 3c8a4c87 authored by Raymond Knopp's avatar Raymond Knopp

robustified fronthaul a bit for out-of-order packets (PULTICK during PULFFT stream)

parent 9cb461ec
......@@ -606,10 +606,16 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) {
return(-1);
}
if (L1_proc->instance_cnt == 0) {
LOG_E(PHY,"Frame %d, subframe %d: RXTX0 thread busy, dropping\n",ru_proc->frame_rx,ru_proc->subframe_rx);
abort();
pthread_mutex_unlock(&L1_proc->mutex);
usleep(200);
if (pthread_mutex_lock(&L1_proc->mutex) != 0) {
LOG_E( PHY, "[eNB] ERROR pthread_mutex_lock for eNB RXTX thread %d (IC %d)\n", L1_proc->subframe_rx&1,L1_proc->instance_cnt );
exit_fun( "error locking mutex_rxtx" );
return(-1);
}
if (L1_proc->instance_cnt == 0) LOG_E(PHY,"Frame %d, subframe %d: RXTX0 thread busy, dropping\n",ru_proc->frame_rx,ru_proc->subframe_rx);
}
else {
if (L1_proc->instance_cnt == -1) {
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_L1_PROC_IC,L1_proc->instance_cnt);
++L1_proc->instance_cnt;
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_L1_PROC_IC,L1_proc->instance_cnt);
......
......@@ -240,9 +240,11 @@ void fh_if4p5_south_in(RU_t *ru,int *frame,int *subframe) {
else if (packet_type == IF4p5_PULTICK) {
proc->symbol_mask[sf] = symbol_mask_full;
pultick_received++;
/*
if ((proc->first_rx==0) && (f!=*frame)) LOG_E(PHY,"rx_fh_if4p5: PULTICK received frame %d != expected %d (RU %d) \n",f,*frame, ru->idx);
else if ((proc->first_rx==0) && (sf!=*subframe)) LOG_E(PHY,"rx_fh_if4p5: PULTICK received subframe %d != expected %d (first_rx %d)\n",sf,*subframe,proc->first_rx);
else break;
else break; */
if (f==*frame || sf==*subframe) break;
} else if (packet_type == IF4p5_PRACH) {
// nothing in RU for RAU
}
......
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