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:
Johan Hedberg 2012-02-19 14:06:48 +02:00
parent 2da9c55c5a
commit 48c7aba91f

View file

@ -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);
} }
} }