Merge remote-tracking branch 'origin/fix-stop-rf-segfault' into integration_2022_wk48
This commit is contained in:
+12
-6
@@ -1295,12 +1295,6 @@ void *ru_thread( void *param ) {
|
|||||||
|
|
||||||
printf( "Exiting ru_thread \n");
|
printf( "Exiting ru_thread \n");
|
||||||
|
|
||||||
if (ru->stop_rf != NULL) {
|
|
||||||
if (ru->stop_rf(ru) != 0)
|
|
||||||
LOG_E(HW,"Could not stop the RF device\n");
|
|
||||||
else LOG_I(PHY,"RU %d rf device stopped\n",ru->idx);
|
|
||||||
}
|
|
||||||
|
|
||||||
ru_thread_status = 0;
|
ru_thread_status = 0;
|
||||||
return &ru_thread_status;
|
return &ru_thread_status;
|
||||||
}
|
}
|
||||||
@@ -1378,6 +1372,18 @@ void kill_NR_RU_proc(int inst) {
|
|||||||
LOG_D(PHY, "Joining ru_stats_thread\n");
|
LOG_D(PHY, "Joining ru_stats_thread\n");
|
||||||
pthread_join(ru->ru_stats_thread, NULL);
|
pthread_join(ru->ru_stats_thread, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// everything should be stopped now, we can safely stop the RF device
|
||||||
|
if (ru->stop_rf == NULL) {
|
||||||
|
LOG_W(PHY, "No stop_rf() for RU %d defined, cannot stop RF!\n", ru->idx);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int rc = ru->stop_rf(ru);
|
||||||
|
if (rc != 0) {
|
||||||
|
LOG_W(PHY, "stop_rf() returned %d, RU %d RF device did not stop properly!\n", rc, ru->idx);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LOG_I(PHY, "RU %d RF device stopped\n",ru->idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
int check_capabilities(RU_t *ru,RRU_capabilities_t *cap) {
|
int check_capabilities(RU_t *ru,RRU_capabilities_t *cap) {
|
||||||
|
|||||||
@@ -640,8 +640,8 @@ static void trx_usrp_write_reset(openair0_thread_t *wt) {
|
|||||||
pthread_mutex_lock(&wt->mutex_write);
|
pthread_mutex_lock(&wt->mutex_write);
|
||||||
wt->count_write = 1;
|
wt->count_write = 1;
|
||||||
wt->write_thread_exit = true;
|
wt->write_thread_exit = true;
|
||||||
pthread_mutex_unlock(&wt->mutex_write);
|
|
||||||
pthread_cond_signal(&wt->cond_write);
|
pthread_cond_signal(&wt->cond_write);
|
||||||
|
pthread_mutex_unlock(&wt->mutex_write);
|
||||||
void *retval = NULL;
|
void *retval = NULL;
|
||||||
pthread_join(wt->pthread_write, &retval);
|
pthread_join(wt->pthread_write, &retval);
|
||||||
LOG_I(HW, "stopped USRP write thread\n");
|
LOG_I(HW, "stopped USRP write thread\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user