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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Mar 2013 16:25:54 +0000 (09:25 -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>
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);