mirror of https://gitee.com/openkylin/linux.git
Bluetooth: Move check for ongoing connect earlier in hci_connect_le()
This helps simplify the logic in further patches (less cleanups to do in this failure branch). Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
0ad06aa6a7
commit
658aead94b
|
@ -798,6 +798,12 @@ struct hci_conn *hci_connect_le(struct hci_dev *hdev, bdaddr_t *dst,
|
|||
return ERR_PTR(-EOPNOTSUPP);
|
||||
}
|
||||
|
||||
/* Since the controller supports only one LE connection attempt at a
|
||||
* time, we return -EBUSY if there is any connection attempt running.
|
||||
*/
|
||||
if (hci_lookup_le_connect(hdev))
|
||||
return ERR_PTR(-EBUSY);
|
||||
|
||||
/* Some devices send ATT messages as soon as the physical link is
|
||||
* established. To be able to handle these ATT messages, the user-
|
||||
* space first establishes the connection and then starts the pairing
|
||||
|
@ -821,12 +827,6 @@ struct hci_conn *hci_connect_le(struct hci_dev *hdev, bdaddr_t *dst,
|
|||
}
|
||||
}
|
||||
|
||||
/* Since the controller supports only one LE connection attempt at a
|
||||
* time, we return -EBUSY if there is any connection attempt running.
|
||||
*/
|
||||
if (hci_lookup_le_connect(hdev))
|
||||
return ERR_PTR(-EBUSY);
|
||||
|
||||
/* When given an identity address with existing identity
|
||||
* resolving key, the connection needs to be established
|
||||
* to a resolvable random address.
|
||||
|
|
Loading…
Reference in New Issue