UPSTREAM: staging/gdm72xx: Remove duplicated code in gdm_qos.c
authorPeter Huewe <peterhuewe@gmx.de>
Tue, 19 Feb 2013 17:50:20 +0000 (18:50 +0100)
committerChromeBot <chrome-bot@google.com>
Wed, 1 May 2013 23:39:49 +0000 (16:39 -0700)
The first branch of the if statement is ended with a return thus there
is no need for an else if, and thus we can move the duplicated code to
the top and use it for the other two branches.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d38529100d0f2e844df5f06d67dae8dd32086ec1)

Change-Id: I9ad27e507f0f66a821dd9c2327dc67cc69bc8a10
Signed-off-by: Ben Chan <benchan@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/49426
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
drivers/staging/gdm72xx/gdm_qos.c

index d48994b..b795353 100644 (file)
@@ -365,20 +365,24 @@ void gdm_recv_qos_hci_packet(void *nic_ptr, u8 *buf, int size)
                spin_unlock_irqrestore(&qcb->qos_lock, flags);
                send_qos_list(nic, &send_list);
                return;
-       } else if (subCmdEvt == QOS_ADD) {
-               pos = 6;
-
-               SFID = ((buf[pos++]<<24)&0xff000000);
-               SFID += ((buf[pos++]<<16)&0xff0000);
-               SFID += ((buf[pos++]<<8)&0xff00);
-               SFID += (buf[pos++]);
-
-               index = get_csr(qcb, SFID, 1);
-               if (index == -1) {
-                       netdev_err(nic->netdev, "QoS ERROR: csr Update Error\n");
-                       return;
-               }
+       }
 
+       /* subCmdEvt == QOS_ADD || subCmdEvt == QOS_CHANG_DEL */
+       pos = 6;
+       SFID = ((buf[pos++]<<24)&0xff000000);
+       SFID += ((buf[pos++]<<16)&0xff0000);
+       SFID += ((buf[pos++]<<8)&0xff00);
+       SFID += (buf[pos++]);
+
+       index = get_csr(qcb, SFID, 1);
+       if (index == -1) {
+               netdev_err(nic->netdev,
+                          "QoS ERROR: csr Update Error / Wrong index (%d) \n",
+                          index);
+               return;
+       }
+
+       if (subCmdEvt == QOS_ADD) {
                netdev_dbg(nic->netdev, "QOS_ADD SFID = 0x%x, index=%d\n",
                           SFID, index);
 
@@ -420,18 +424,6 @@ void gdm_recv_qos_hci_packet(void *nic_ptr, u8 *buf, int size)
                qcb->qos_limit_size = 254/qcb->qos_list_cnt;
                spin_unlock_irqrestore(&qcb->qos_lock, flags);
        } else if (subCmdEvt == QOS_CHANGE_DEL) {
-               pos = 6;
-               SFID = ((buf[pos++]<<24)&0xff000000);
-               SFID += ((buf[pos++]<<16)&0xff0000);
-               SFID += ((buf[pos++]<<8)&0xff00);
-               SFID += (buf[pos++]);
-               index = get_csr(qcb, SFID, 1);
-               if (index == -1) {
-                       netdev_err(nic->netdev, "QoS ERROR: Wrong index(%d)\n",
-                                  index);
-                       return;
-               }
-
                netdev_dbg(nic->netdev, "QOS_CHANGE_DEL SFID = 0x%x, index=%d\n",
                           SFID, index);