Bluetooth: hci_conn: Reduce hci_conn_drop() calls in two functions

An hci_conn_drop() call was immediately used after a null pointer check
for an hci_conn_link() call in two function implementations.
Thus call such a function only once instead directly before the checks.

This issue was transformed by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
Markus Elfring 2024-10-01 09:21:25 +02:00 committed by Luiz Augusto von Dentz
parent 8c52d2f8dc
commit d96b543c6f

View File

@ -2224,13 +2224,9 @@ struct hci_conn *hci_bind_bis(struct hci_dev *hdev, bdaddr_t *dst,
conn->iso_qos.bcast.big);
if (parent && parent != conn) {
link = hci_conn_link(parent, conn);
if (!link) {
hci_conn_drop(conn);
return ERR_PTR(-ENOLINK);
}
/* Link takes the refcount */
hci_conn_drop(conn);
if (!link)
return ERR_PTR(-ENOLINK);
}
return conn;
@ -2320,15 +2316,12 @@ struct hci_conn *hci_connect_cis(struct hci_dev *hdev, bdaddr_t *dst,
}
link = hci_conn_link(le, cis);
hci_conn_drop(cis);
if (!link) {
hci_conn_drop(le);
hci_conn_drop(cis);
return ERR_PTR(-ENOLINK);
}
/* Link takes the refcount */
hci_conn_drop(cis);
cis->state = BT_CONNECT;
hci_le_create_cis_pending(hdev);