On 13.04.2017 07:22, Andrew Hlynskyi wrote: > A bluetooth transport will be garbage collected automatically > by the pa_bluetooth_discovery_unref function. > --- > src/modules/bluetooth/backend-ofono.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/src/modules/bluetooth/backend-ofono.c b/src/modules/bluetooth/backend-ofono.c > index 755df9e8..5fd7e4ce 100644 > --- a/src/modules/bluetooth/backend-ofono.c > +++ b/src/modules/bluetooth/backend-ofono.c > @@ -111,9 +111,6 @@ static struct hf_audio_card *hf_audio_card_new(pa_bluetooth_backend *backend, co > static void hf_audio_card_free(struct hf_audio_card *card) { > pa_assert(card); > > - if (card->transport) > - pa_bluetooth_transport_free(card->transport); > - > pa_xfree(card->path); > pa_xfree(card->remote_address); > pa_xfree(card->local_address); This one does not look correct because the pa_bluetooth_discovery_unref() function is only called when the modules are unloaded. What exactly happens when you are getting a segfault? The transport itself must be valid, otherwise the function would not get called. Regards Georg