@@ -7045,10 +7045,13 @@ static int hci_le_pa_create_sync(struct hci_dev *hdev, void *data)
70457045 /* SID has not been set listen for HCI_EV_LE_EXT_ADV_REPORT to update
70467046 * it.
70477047 */
7048- if (conn -> sid == HCI_SID_INVALID )
7049- __hci_cmd_sync_status_sk (hdev , HCI_OP_NOP , 0 , NULL ,
7050- HCI_EV_LE_EXT_ADV_REPORT ,
7051- conn -> conn_timeout , NULL );
7048+ if (conn -> sid == HCI_SID_INVALID ) {
7049+ err = __hci_cmd_sync_status_sk (hdev , HCI_OP_NOP , 0 , NULL ,
7050+ HCI_EV_LE_EXT_ADV_REPORT ,
7051+ conn -> conn_timeout , NULL );
7052+ if (err == - ETIMEDOUT )
7053+ goto done ;
7054+ }
70527055
70537056 memset (& cp , 0 , sizeof (cp ));
70547057 cp .options = qos -> bcast .options ;
@@ -7078,6 +7081,7 @@ static int hci_le_pa_create_sync(struct hci_dev *hdev, void *data)
70787081 __hci_cmd_sync_status (hdev , HCI_OP_LE_PA_CREATE_SYNC_CANCEL ,
70797082 0 , NULL , HCI_CMD_TIMEOUT );
70807083
7084+ done :
70817085 hci_dev_clear_flag (hdev , HCI_PA_SYNC );
70827086
70837087 /* Update passive scan since HCI_PA_SYNC flag has been cleared */
0 commit comments