Diff between 17c1a9b494900e1f412032d751db2a5e623c35f5 and 59bf065b6279bd49c505cab50a1d81294a6febbe

Changed Files

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

Full Patch

diff --git a/src/device.c b/src/device.c
index afd073c..1db96d9 100644
--- a/src/device.c
+++ b/src/device.c
@@ -3276,6 +3276,13 @@ static bool device_disappeared(gpointer user_data)
 {
 	struct btd_device *dev = user_data;
 
+	/* If there are services connecting restart the timer to give more time
+	 * for the service to either complete the connection or disconnect.
+	 */
+	if (find_service_with_state(dev->services,
+					BTD_SERVICE_STATE_CONNECTING))
+		return TRUE;
+
 	dev->temporary_timer = 0;
 
 	btd_adapter_remove_device(dev->adapter, dev);