Thread (7 messages) flat view 7 messages, 4 authors, 2021-08-26

Re: [PATCH BlueZ v2 1/2] device: clear eir_uuids list on disconnect

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2021-08-25 22:12:52

Hi David,

On Wed, Aug 25, 2021 at 9:54 AM David Lechner [off-list ref] wrote:
quoted hunk ↗ jump to hunk
The eir_uuids list contains GATT service UUIDs from advertising data.
The device may advertise different UUIDs each time it is scanned and
connected, so the list needs to be cleared when the device disconnects.

This partially fixes an issue where the UUIDs D-Bus property is empty
after scanning, connecting, disconnecting and scanning again when
[GATT] Cache = yes is set in main.conf.

Issue: https://github.com/bluez/bluez/issues/192
Signed-off-by: David Lechner <david@lechnology.com>
---
 src/device.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/src/device.c b/src/device.c
index 807106812..53ef3e9a1 100644
--- a/src/device.c
+++ b/src/device.c
@@ -3129,6 +3129,9 @@ void device_remove_connection(struct btd_device *device, uint8_t bdaddr_type)

        device_update_last_seen(device, bdaddr_type);

+       g_slist_free_full(device->eir_uuids, g_free);
+       device->eir_uuids = NULL;
+
        g_dbus_emit_property_changed(dbus_conn, device->path,
                                                DEVICE_INTERFACE, "Connected");

--
2.25.1
Applied, thanks.


-- 
Luiz Augusto von Dentz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help