From da9d17e73eb32c46d61fbb5c5c08b0b678d6cf32 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Wed, 10 Jun 2020 17:01:01 +0300 Subject: [PATCH] bluez5: don't add transport twice in the device transports list The transport is already added in profile_new_connection(), unless is_new is TRUE Apart from being wrong, adding the same node twice in a list also causes spa_list_foreach() to loop forever... --- spa/plugins/bluez5/bluez5-dbus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spa/plugins/bluez5/bluez5-dbus.c b/spa/plugins/bluez5/bluez5-dbus.c index 6c13b7676..761a7a724 100644 --- a/spa/plugins/bluez5/bluez5-dbus.c +++ b/spa/plugins/bluez5/bluez5-dbus.c @@ -1097,7 +1097,8 @@ static DBusHandlerResult endpoint_set_configuration(DBusConnection *conn, spa_log_warn(monitor->log, "no device found for transport"); return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } - spa_list_append(&transport->device->transport_list, &transport->device_link); + if (is_new) + spa_list_append(&transport->device->transport_list, &transport->device_link); device_connect_profile(transport->device, transport->profile);