diff --git a/pipewire-alsa/alsa-plugins/pcm_pipewire.c b/pipewire-alsa/alsa-plugins/pcm_pipewire.c index ed729ebc7..a55d10298 100644 --- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c +++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c @@ -115,10 +115,10 @@ static void snd_pcm_pipewire_free(snd_pcm_pipewire_t *pw) pw_core_destroy(pw->core); if (pw->main_loop) pw_thread_loop_destroy(pw->main_loop); - if (pw->loop) - pw_loop_destroy(pw->loop); if (pw->fd >= 0) spa_system_close(pw->loop->system, pw->fd); + if (pw->loop) + pw_loop_destroy(pw->loop); free(pw); } }