mbox series

[BlueZ,v2,0/2] device: fix advertising data UUIDs ignored when Cache = yes

Message ID 20210825165125.2675544-1-david@lechnology.com (mailing list archive)
Headers show
Series device: fix advertising data UUIDs ignored when Cache = yes | expand

Message

David Lechner Aug. 25, 2021, 4:51 p.m. UTC
When [GATT] Cache = yes is set in configuration BlueZ does not use
cached UUIDs for the list of service UUIDs. However, it doesn't clear
the in-memory list of UUIDs received from advertising data, so when
a device is scanned, connected and disconnected, the internal state
still reflects that the UUIDs from the advertising data have already
been handled. device_add_eir_uuids() ignored the UUIDs from the
advertising data because both dev->le_state.svc_resolved == true and
dev->eir_uuids still contains the UUIDs from the previous scan session.

v2 changes:
* split into two patches
* always clear eir_uuids list on disconnect
* move le_state.svc_resolved = false to gatt_cache_cleanup()

Issue: https://github.com/bluez/bluez/issues/192

David Lechner (2):
  device: clear eir_uuids list on disconnect
  device: set le_state.svc_resolved = false in gatt_cache_cleanup()

 src/device.c | 4 ++++
 1 file changed, 4 insertions(+)