From b66e67db14283d6e5ed59879385d755b6723096f Mon Sep 17 00:00:00 2001 From: Huang-Huang Date: Mon, 1 Feb 2021 00:01:23 +0800 Subject: [PATCH] bluez5: unregister HSP dbus object paths when current HSP/HFP registration fails --- spa/plugins/bluez5/backend-native.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/spa/plugins/bluez5/backend-native.c b/spa/plugins/bluez5/backend-native.c index 7ed5ad67a..e10a47447 100644 --- a/spa/plugins/bluez5/backend-native.c +++ b/spa/plugins/bluez5/backend-native.c @@ -1054,7 +1054,7 @@ struct spa_bt_backend *backend_native_new(struct spa_bt_monitor *monitor, if (!dbus_connection_register_object_path(backend->conn, PROFILE_HSP_HS, &vtable_profile, backend)) { - goto fail; + goto fail1; } #endif @@ -1062,11 +1062,17 @@ struct spa_bt_backend *backend_native_new(struct spa_bt_monitor *monitor, if (!dbus_connection_register_object_path(backend->conn, PROFILE_HFP_AG, &vtable_profile, backend)) { - goto fail; + goto fail2; } #endif return backend; +fail2: +#ifdef HAVE_BLUEZ_5_BACKEND_HSP_NATIVE + dbus_connection_unregister_object_path(backend->conn, PROFILE_HSP_HS); +fail1: + dbus_connection_unregister_object_path(backend->conn, PROFILE_HSP_AG); +#endif fail: free(backend); return NULL;