Skip to contentSkip to conversation

staging: silicom: remove redundant pci_get_drvdata() call

PATCH In review Daeseok Youn 2 participants 3 messages Apr 23, 2014 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 staging: silicom: remove redundant pci_get_drvdata() call

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

---
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(-)
drivers/staging/silicom/bypasslib/bypass.c +23 -28
index 09e00da..a58251f 100644
@@ -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:
Signature · 1 line
1.7.4.4
#1 lore raw
Quoted 8 lines · Daeseok Youn

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

---
This patch has an warning from checkpatch.pl. checkpatch.pl warning:
WARNING: Too many leading tabs - consider code refactoring

No problem. Those were there and worse before your patch.

If someone wanted to fix these then just reverse every if condition in the function.

regards,
dan carpenter

#2 lore raw

2014-04-23 17:35 GMT+09:00, Dan Carpenter <[email protected]>:

Quoted 10 lines · Daeseok Youn
Quoted 8 lines

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

---
This patch has an warning from checkpatch.pl. checkpatch.pl warning:
WARNING: Too many leading tabs - consider code refactoring

Quoted 4 lines

No problem. Those were there and worse before your patch.

If someone wanted to fix these then just reverse every if condition in the function.

Ok. Thanks for comment.

Regards,
Daeseok Youn

Quoted 5 lines

regards,
dan carpenter