diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index d5896bbffd..619e425ff9 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -573,6 +573,7 @@ int main(int argc, char **argv) } } + free_nrLDPC_coding_interface(&nrLDPC_coding_interface); free(pckg); return 0; } diff --git a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface_load.c b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface_load.c index 4819b68598..ab80eb77a0 100644 --- a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface_load.c +++ b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface_load.c @@ -70,5 +70,9 @@ int load_nrLDPC_coding_interface(char *version, nrLDPC_coding_interface_t *itf) int free_nrLDPC_coding_interface(nrLDPC_coding_interface_t *interface) { - return interface->nrLDPC_coding_shutdown(); + if (interface->nrLDPC_coding_shutdown) { + return interface->nrLDPC_coding_shutdown(); + } else { + return -1; + } } diff --git a/openair1/PHY/INIT/nr_init.c b/openair1/PHY/INIT/nr_init.c index 581338fa45..2b8ede1069 100644 --- a/openair1/PHY/INIT/nr_init.c +++ b/openair1/PHY/INIT/nr_init.c @@ -292,6 +292,9 @@ void phy_free_nr_gNB(PHY_VARS_gNB *gNB) free_and_zero(pusch_vars->llr); } // ULSCH_id free(gNB->pusch_vars); + + free_nrLDPC_coding_interface(&gNB->nrLDPC_coding_interface); + } //Adding nr_schedule_handler diff --git a/openair1/SIMULATION/NR_PHY/dlschsim.c b/openair1/SIMULATION/NR_PHY/dlschsim.c index 1730c91816..4062077ab7 100644 --- a/openair1/SIMULATION/NR_PHY/dlschsim.c +++ b/openair1/SIMULATION/NR_PHY/dlschsim.c @@ -661,8 +661,6 @@ int main(int argc, char **argv) free(gNB->gNB_config.tdd_table.max_tdd_periodicity_list[i].max_num_of_symbol_per_slot_list); free(gNB->gNB_config.tdd_table.max_tdd_periodicity_list); - free_nrLDPC_coding_interface(&gNB->nrLDPC_coding_interface); - abortTpool(&gNB->threadPool); phy_free_nr_gNB(gNB); diff --git a/openair1/SIMULATION/NR_PHY/ulschsim.c b/openair1/SIMULATION/NR_PHY/ulschsim.c index 8a39852995..12c3551566 100644 --- a/openair1/SIMULATION/NR_PHY/ulschsim.c +++ b/openair1/SIMULATION/NR_PHY/ulschsim.c @@ -603,8 +603,6 @@ int main(int argc, char **argv) free(gNB->gNB_config.tdd_table.max_tdd_periodicity_list[i].max_num_of_symbol_per_slot_list); free(gNB->gNB_config.tdd_table.max_tdd_periodicity_list); - free_nrLDPC_coding_interface(&gNB->nrLDPC_coding_interface); - term_nr_ue_signal(UE, 1); free(UE);