]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Bluetooth: hci_sync: Fix hci_le_create_conn_sync
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Thu, 5 Mar 2026 13:50:52 +0000 (14:50 +0100)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 12 Mar 2026 19:27:05 +0000 (15:27 -0400)
commit2cabe7ff1001b7a197009cf50ba71701f9cbd354
tree7aba673e6b8a3bfed22adfc8e45ad98c3f55b799
parent62bcaa6b351b6dc400f6c6b83762001fd9f5c12d
Bluetooth: hci_sync: Fix hci_le_create_conn_sync

While introducing hci_le_create_conn_sync the functionality
of hci_connect_le was ported to hci_le_create_conn_sync including
the disable of the scan before starting the connection.

When this code was run non synchronously the immediate call that was
setting the flag HCI_LE_SCAN_INTERRUPTED had an impact. Since the
completion handler for the LE_SCAN_DISABLE was not immediately called.
In the completion handler of the LE_SCAN_DISABLE event, this flag is
checked to set the state of the hdev to DISCOVERY_STOPPED.

With the synchronised approach the later setting of the
HCI_LE_SCAN_INTERRUPTED flag has not the same effect. The completion
handler would immediately fire in the LE_SCAN_DISABLE call, check for
the flag, which is then not yet set and do nothing.

To fix this issue and make the function call work as before, we move the
setting of the flag HCI_LE_SCAN_INTERRUPTED before disabling the scan.

Fixes: 8e8b92ee60de ("Bluetooth: hci_sync: Add hci_le_create_conn_sync")
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/hci_sync.c