@@ -7045,10 +7045,13 @@ static int hci_le_pa_create_sync(struct hci_dev *hdev, void *data)
7045
7045
/* SID has not been set listen for HCI_EV_LE_EXT_ADV_REPORT to update
7046
7046
* it.
7047
7047
*/
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
+ }
7052
7055
7053
7056
memset (& cp , 0 , sizeof (cp ));
7054
7057
cp .options = qos -> bcast .options ;
@@ -7078,6 +7081,7 @@ static int hci_le_pa_create_sync(struct hci_dev *hdev, void *data)
7078
7081
__hci_cmd_sync_status (hdev , HCI_OP_LE_PA_CREATE_SYNC_CANCEL ,
7079
7082
0 , NULL , HCI_CMD_TIMEOUT );
7080
7083
7084
+ done :
7081
7085
hci_dev_clear_flag (hdev , HCI_PA_SYNC );
7082
7086
7083
7087
/* Update passive scan since HCI_PA_SYNC flag has been cleared */
0 commit comments