Bluetooth: Fix hci_connect error return values
The hci_connect function should either return a valid hci_conn pointer or a ERR_PTR() but never NULL. This patch fixes the two places where hci_conn_add failures would have caused a NULL return. The only reason for failure with hci_conn_add is memory allocation so ENOMEM seems to be a good choice here. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
2da9c55c5a
commit
48c7aba91f
|
@ -551,7 +551,7 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8
|
||||||
if (!acl) {
|
if (!acl) {
|
||||||
acl = hci_conn_add(hdev, ACL_LINK, dst);
|
acl = hci_conn_add(hdev, ACL_LINK, dst);
|
||||||
if (!acl)
|
if (!acl)
|
||||||
return NULL;
|
return ERR_PTR(-ENOMEM);
|
||||||
}
|
}
|
||||||
|
|
||||||
hci_conn_hold(acl);
|
hci_conn_hold(acl);
|
||||||
|
@ -571,7 +571,7 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8
|
||||||
sco = hci_conn_add(hdev, type, dst);
|
sco = hci_conn_add(hdev, type, dst);
|
||||||
if (!sco) {
|
if (!sco) {
|
||||||
hci_conn_put(acl);
|
hci_conn_put(acl);
|
||||||
return NULL;
|
return ERR_PTR(-ENOMEM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue