Bluetooth: Return proper mgmt state when LE pairing connection failed
MGMT_STATUS_BUSY should be returned when LE pairing cannot be started due to another outgoing connection attempt is ongoing. Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@tieto.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
committed by
Johan Hedberg
parent
dfc94dbdb9
commit
489dc48e75
@@ -1911,8 +1911,15 @@ static int pair_device(struct sock *sk, struct hci_dev *hdev, void *data,
|
|||||||
rp.addr.type = cp->addr.type;
|
rp.addr.type = cp->addr.type;
|
||||||
|
|
||||||
if (IS_ERR(conn)) {
|
if (IS_ERR(conn)) {
|
||||||
|
int status;
|
||||||
|
|
||||||
|
if (PTR_ERR(conn) == -EBUSY)
|
||||||
|
status = MGMT_STATUS_BUSY;
|
||||||
|
else
|
||||||
|
status = MGMT_STATUS_CONNECT_FAILED;
|
||||||
|
|
||||||
err = cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
|
err = cmd_complete(sk, hdev->id, MGMT_OP_PAIR_DEVICE,
|
||||||
MGMT_STATUS_CONNECT_FAILED, &rp,
|
status, &rp,
|
||||||
sizeof(rp));
|
sizeof(rp));
|
||||||
goto unlock;
|
goto unlock;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user