Bluetooth: Remove redundant check on status
authorColin Ian King <colin.king@canonical.com>
Wed, 10 Oct 2018 14:37:31 +0000 (15:37 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 14 Oct 2018 08:31:25 +0000 (10:31 +0200)
The check on status is redundant as a status has to be zero at
the point it is being checked because of a previous check and return
path via label 'unlock'.  Remove the redundant check and the deadcode
that can never be reached.

Detected by CoverityScan, CID#1471710 ("Logically dead code")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_event.c

index f47f8fad757ac97db775ad05fb3db3ce6285d336..ef9928d7b4fb5abd497e01a45261aa5dab8ac1e0 100644 (file)
@@ -4937,31 +4937,27 @@ static void le_conn_complete_evt(struct hci_dev *hdev, u8 status,
        hci_debugfs_create_conn(conn);
        hci_conn_add_sysfs(conn);
 
-       if (!status) {
-               /* The remote features procedure is defined for master
-                * role only. So only in case of an initiated connection
-                * request the remote features.
-                *
-                * If the local controller supports slave-initiated features
-                * exchange, then requesting the remote features in slave
-                * role is possible. Otherwise just transition into the
-                * connected state without requesting the remote features.
-                */
-               if (conn->out ||
-                   (hdev->le_features[0] & HCI_LE_SLAVE_FEATURES)) {
-                       struct hci_cp_le_read_remote_features cp;
+       /* The remote features procedure is defined for master
+        * role only. So only in case of an initiated connection
+        * request the remote features.
+        *
+        * If the local controller supports slave-initiated features
+        * exchange, then requesting the remote features in slave
+        * role is possible. Otherwise just transition into the
+        * connected state without requesting the remote features.
+        */
+       if (conn->out ||
+           (hdev->le_features[0] & HCI_LE_SLAVE_FEATURES)) {
+               struct hci_cp_le_read_remote_features cp;
 
-                       cp.handle = __cpu_to_le16(conn->handle);
+               cp.handle = __cpu_to_le16(conn->handle);
 
-                       hci_send_cmd(hdev, HCI_OP_LE_READ_REMOTE_FEATURES,
-                                    sizeof(cp), &cp);
+               hci_send_cmd(hdev, HCI_OP_LE_READ_REMOTE_FEATURES,
+                            sizeof(cp), &cp);
 
-                       hci_conn_hold(conn);
-               } else {
-                       conn->state = BT_CONNECTED;
-                       hci_connect_cfm(conn, status);
-               }
+               hci_conn_hold(conn);
        } else {
+               conn->state = BT_CONNECTED;
                hci_connect_cfm(conn, status);
        }