Diff between e23dd0d9f0e63cf4e879df591f9a71c37df5300b and e08774af7a7474d2b0974e0bb383787bdbbb1b99

Changed Files

File Additions Deletions Status
src/device.c +7 -2 modified

Full Patch

diff --git a/src/device.c b/src/device.c
index 176ccac..13deebd 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1312,8 +1312,13 @@ static DBusMessage *connect_profiles(struct btd_device *dev, DBusMessage *msg,
 
 	dev->pending = create_pending_list(dev, uuid);
 	if (!dev->pending) {
-		if (dev->svc_refreshed)
-			return btd_error_not_available(msg);
+		if (dev->svc_refreshed) {
+			if (find_service_with_state(dev->services,
+						BTD_SERVICE_STATE_CONNECTED))
+				return dbus_message_new_method_return(msg);
+			else
+				return btd_error_not_available(msg);
+		}
 
 		goto resolve_services;
 	}