aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hci_conn.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2012-02-19 07:06:48 -0500
committerJohan Hedberg <johan.hedberg@intel.com>2012-02-19 07:22:11 -0500
commit48c7aba91f372251867d15efc9cf694ceee2de02 (patch)
tree457ae2383babe549913ee00c40370d978bd243ef /net/bluetooth/hci_conn.c
parent2da9c55c5a4a0b8f0348b7acd70d8b08a6ae4573 (diff)
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>
Diffstat (limited to 'net/bluetooth/hci_conn.c')
-rw-r--r--net/bluetooth/hci_conn.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 7ee6895c4b0c..8549d04e3313 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -551,7 +551,7 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8
551 if (!acl) { 551 if (!acl) {
552 acl = hci_conn_add(hdev, ACL_LINK, dst); 552 acl = hci_conn_add(hdev, ACL_LINK, dst);
553 if (!acl) 553 if (!acl)
554 return NULL; 554 return ERR_PTR(-ENOMEM);
555 } 555 }
556 556
557 hci_conn_hold(acl); 557 hci_conn_hold(acl);
@@ -571,7 +571,7 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8
571 sco = hci_conn_add(hdev, type, dst); 571 sco = hci_conn_add(hdev, type, dst);
572 if (!sco) { 572 if (!sco) {
573 hci_conn_put(acl); 573 hci_conn_put(acl);
574 return NULL; 574 return ERR_PTR(-ENOMEM);
575 } 575 }
576 } 576 }
577 577