The pci_get_drvdata() and checking NULL for dev are
called twice in while loop in is_bypass_dev().

Signed-off-by: Daeseok Youn <daeseok.y...@gmail.com>
---
This patch has an warning from checkpatch.pl.
checkpatch.pl warning:
WARNING: Too many leading tabs - consider code refactoring

 drivers/staging/silicom/bypasslib/bypass.c |   51 ++++++++++++---------------
 1 files changed, 23 insertions(+), 28 deletions(-)

diff --git a/drivers/staging/silicom/bypasslib/bypass.c 
b/drivers/staging/silicom/bypasslib/bypass.c
index 09e00da..a58251f 100644
--- a/drivers/staging/silicom/bypasslib/bypass.c
+++ b/drivers/staging/silicom/bypasslib/bypass.c
@@ -149,38 +149,33 @@ static int is_bypass_dev(int if_index)
 
        while ((pdev = pci_get_class(PCI_CLASS_NETWORK_ETHERNET << 8, pdev))) {
                dev = pci_get_drvdata(pdev);
-               if (dev != NULL) {
-                       dev = pci_get_drvdata(pdev);
-                       if ((dev != NULL) && (dev->ifindex == if_index)) {
-                               if ((pdev->vendor == SILICOM_VID) &&
-                                   (pdev->device >= SILICOM_BP_PID_MIN) &&
-                                   (pdev->device <= SILICOM_BP_PID_MAX)) {
-                                       goto send_cmd;
-                               }
+               if ((dev != NULL) && (dev->ifindex == if_index)) {
+                       if ((pdev->vendor == SILICOM_VID) &&
+                           (pdev->device >= SILICOM_BP_PID_MIN) &&
+                           (pdev->device <= SILICOM_BP_PID_MAX)) {
+                               goto send_cmd;
+                       }
 #if defined(BP_VENDOR_SUPPORT) && defined(ETHTOOL_GDRVINFO)
-                               else {
-                                       struct ethtool_drvinfo info;
-                                       const struct ethtool_ops *ops =
-                                           dev->ethtool_ops;
-                                       int k = 0;
-
-                                       if (ops->get_drvinfo) {
-                                               memset(&info, 0, sizeof(info));
-                                               info.cmd = ETHTOOL_GDRVINFO;
-                                               ops->get_drvinfo(dev, &info);
-                                               for (; bp_desc_array[k]; k++)
-                                                       if (!
-                                                           (strcmp
-                                                            (bp_desc_array[k],
-                                                             info.driver)))
-                                                               goto send_cmd;
-
-                                       }
+                       else {
+                               struct ethtool_drvinfo info;
+                               const struct ethtool_ops *ops =
+                                       dev->ethtool_ops;
+                               int k = 0;
+
+                               if (ops->get_drvinfo) {
+                                       memset(&info, 0, sizeof(info));
+                                       info.cmd = ETHTOOL_GDRVINFO;
+                                       ops->get_drvinfo(dev, &info);
+                                       for (; bp_desc_array[k]; k++)
+                                               if (!(strcmp(bp_desc_array[k],
+                                                            info.driver)))
+                                                       goto send_cmd;
 
                                }
-#endif
-                               return -1;
+
                        }
+#endif
+                       return -1;
                }
        }
  send_cmd:
-- 
1.7.4.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to