hci_phy_link_complete_evt() has several duplicate error paths -- consolidate
them, using the *goto* statements.

Signed-off-by: Sergey Shtylyov <[email protected]>

---
 net/bluetooth/hci_event.c |   16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

Index: bluetooth-next/net/bluetooth/hci_event.c
===================================================================
--- bluetooth-next.orig/net/bluetooth/hci_event.c
+++ bluetooth-next/net/bluetooth/hci_event.c
@@ -4936,20 +4936,15 @@ static void hci_phy_link_complete_evt(st
        hci_dev_lock(hdev);
 
        hcon = hci_conn_hash_lookup_handle(hdev, ev->phy_handle);
-       if (!hcon) {
-               hci_dev_unlock(hdev);
-               return;
-       }
+       if (!hcon)
+               goto unlock;
 
-       if (!hcon->amp_mgr) {
-               hci_dev_unlock(hdev);
-               return;
-       }
+       if (!hcon->amp_mgr)
+               goto unlock;
 
        if (ev->status) {
                hci_conn_del(hcon);
-               hci_dev_unlock(hdev);
-               return;
+               goto unlock;
        }
 
        bredr_hcon = hcon->amp_mgr->l2cap_conn->hcon;
@@ -4966,6 +4961,7 @@ static void hci_phy_link_complete_evt(st
 
        amp_physical_cfm(bredr_hcon, hcon);
 
+unlock:
        hci_dev_unlock(hdev);
 }
 

Reply via email to