Branch: refs/heads/master Home: https://github.com/bluez/bluez Commit: 9cc587947b6ac56a4c94dcc880b273bc72af22a8 https://github.com/bluez/bluez/commit/9cc587947b6ac56a4c94dcc880b273bc72af22a8 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2024-07-11 (Thu, 11 Jul 2024) Changed paths: M src/adapter.c M src/device.c M src/device.h Log Message: ----------- device: Fix overwritting current_flags MGMT Set Device Flags overwrites the current_flags so only the last flags set this way would remain active which can be seem in the following sequence when LL Privacy is enabled: @ MGMT Command: Set Device Flags (0x0050) plen 11 LE Address: CF:AC:A6:79:3D:B9 (Static) Current Flags: 0x00000001 Remote Wakeup @ MGMT Event: Command Complete (0x0001) plen 10 Set Device Flags (0x0050) plen 7 Status: Success (0x00) LE Address: CF:AC:A6:79:3D:B9 (Static) @ MGMT Command: Set Device Flags (0x0050) plen 11 LE Address: CF:AC:A6:79:3D:B9 (Static) Current Flags: 0x00000002 Device Privacy Mode @ MGMT Event: Command Complete (0x0001) plen 10 Set Device Flags (0x0050) plen 7 Status: Success (0x00) LE Address: CF:AC:A6:79:3D:B9 (Static) In order to do this properly the code needs to track the pending_flags being set and also call btd_device_flags_changed whenever a change is complete since that event is not generated when MGMT_OP_SET_DEVICE_FLAGS is sent by bluetoothd itself. To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications