Skip to content

Commit 921a470

Browse files
Vudentzgregkh
authored andcommitted
Bluetooth: hci_sync: Fix scan state after PA Sync has been established
[ Upstream commit ca88be1 ] Passive scanning is used to program the address of the peer to be synchronized, so once HCI_EV_LE_PA_SYNC_ESTABLISHED is received it needs to be updated after clearing HCI_PA_SYNC then call hci_update_passive_scan_sync to return it to its original state. Fixes: 6d0417e ("Bluetooth: hci_conn: Fix not setting conn_timeout for Broadcast Receiver") Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 736db11 commit 921a470

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

net/bluetooth/hci_sync.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6985,8 +6985,6 @@ static void create_pa_complete(struct hci_dev *hdev, void *data, int err)
69856985

69866986
hci_dev_lock(hdev);
69876987

6988-
hci_dev_clear_flag(hdev, HCI_PA_SYNC);
6989-
69906988
if (!hci_conn_valid(hdev, conn))
69916989
clear_bit(HCI_CONN_CREATE_PA_SYNC, &conn->flags);
69926990

@@ -7080,6 +7078,11 @@ static int hci_le_pa_create_sync(struct hci_dev *hdev, void *data)
70807078
__hci_cmd_sync_status(hdev, HCI_OP_LE_PA_CREATE_SYNC_CANCEL,
70817079
0, NULL, HCI_CMD_TIMEOUT);
70827080

7081+
hci_dev_clear_flag(hdev, HCI_PA_SYNC);
7082+
7083+
/* Update passive scan since HCI_PA_SYNC flag has been cleared */
7084+
hci_update_passive_scan_sync(hdev);
7085+
70837086
return err;
70847087
}
70857088

0 commit comments

Comments
 (0)