When an app is registered and a device gets paired,
device_set_auto_connect() can be called before the address is resolved.
Do not ignore the request but rather record the auto connect request so
that it can be enabled in device_update_addr.
---
src/device.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/device.c b/src/device.c
index 0179c3dab..8b3e78995 100644
--- a/src/device.c
+++ b/src/device.c
@@ -2205,7 +2205,7 @@ static void device_set_auto_connect(struct btd_device *device, gboolean enable)
char addr[18];
const char *bearer;
- if (!device || !device->le || device_address_is_private(device))
+ if (!device || !device->le)
return;
ba2str(&device->bdaddr, addr);
@@ -2224,6 +2224,9 @@ static void device_set_auto_connect(struct btd_device *device, gboolean enable)
return;
}
+ if (device_address_is_private(device))
+ return;
+
/* Inhibit auto connect if BR/EDR bearer is preferred */
bearer = device_prefer_bearer_str(device);
if (bearer && !strcasecmp(bearer, "bredr"))
--
2.47.2