Bluetooth: Use ERR_PTR as return error from hci_connect
Subsystems (2)
PATCH 2/2 Bluetooth: Use ERR_PTR as return error from hci_connect
From: Ville Tervo <[email protected]>
Use ERR_PTR mechanism to return error from hci_connect.
Signed-off-by Ville Tervo <[email protected]>
Signed-off-by Anderson Briglia <[email protected]>
--- net/bluetooth/hci_conn.c | 8 ++++---- net/bluetooth/l2cap_core.c | 10 ++++------ net/bluetooth/sco.c | 6 +++--- 3 files changed, 11 insertions(+), 13 deletions(-)
net/bluetooth/hci_conn.c +4 -4
@@ -430,10 +430,10 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8if (type ==LE_LINK ) { le =hci_conn_hash_lookup_ba (hdev,LE_LINK , dst);if (le) -return NULL ; +return ERR_PTR (-EBUSY ); le =hci_conn_add (hdev,LE_LINK , dst);if (!le) -return NULL ; +return ERR_PTR (-ENOMEM );if (le->state ==BT_OPEN )hci_le_connect (le);
@@ -445,8 +445,8 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8 acl =hci_conn_hash_lookup_ba (hdev,ACL_LINK , dst);if (!acl) { acl =hci_conn_add (hdev,ACL_LINK , dst); -if (!acl) -return NULL ; +if (IS_ERR (acl)) +return acl; }hci_conn_hold (acl);
net/bluetooth/l2cap_core.c +4 -6
@@ -841,7 +841,7 @@ int l2cap_do_connect(struct sock *sk)struct hci_conn *hcon;struct hci_dev *hdev;__u8 auth_type; -int err; +int err =0 ;BT_DBG ("%s -> %s psm 0x%2.2x" ,batostr (src),batostr (dst),l2cap_pi (sk)->psm);
@@ -852,8 +852,6 @@ int l2cap_do_connect(struct sock *sk)hci_dev_lock_bh (hdev); - err = -ENOMEM ; - auth_type =l2cap_get_auth_type (sk);if (l2cap_pi (sk)->dcid ==L2CAP_CID_LE_DATA )
@@ -863,8 +861,10 @@ int l2cap_do_connect(struct sock *sk) hcon =hci_connect (hdev,ACL_LINK , dst,l2cap_pi (sk)->sec_level, auth_type); -if (!hcon) +if (IS_ERR (hcon)) { + err =PTR_ERR (hcon); goto done; + } conn =l2cap_conn_add (hcon,0 );if (!conn) {
@@ -872,8 +872,6 @@ int l2cap_do_connect(struct sock *sk) goto done; } - err =0 ; -/* Update source addr of the socket */ bacpy (src, conn->src);
net/bluetooth/sco.c +3 -3
@@ -190,16 +190,16 @@ static int sco_connect(struct sock *sk)hci_dev_lock_bh (hdev); - err = -ENOMEM ; -if (lmp_esco_capable (hdev) && !disable_esco) type =ESCO_LINK ;else type =SCO_LINK ; hcon =hci_connect (hdev, type, dst,BT_SECURITY_LOW ,HCI_AT_NO_BONDING ); -if (!hcon) +if (IS_ERR (hcon)) { + err =PTR_ERR (hcon); goto done; + } conn =sco_conn_add (hcon,0 );if (!conn) {
Signature · 1 line
1.7.1