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;
}