2014-04-23 08:19:16

by Daeseok Youn

[permalink] [raw]
Subject: [PATCH] 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().

Signed-off-by: Daeseok Youn <[email protected]>
---
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


2014-04-23 08:36:15

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] staging: silicom: remove redundant pci_get_drvdata() call

On Wed, Apr 23, 2014 at 05:18:42PM +0900, Daeseok Youn wrote:
> The pci_get_drvdata() and checking NULL for dev are
> called twice in while loop in is_bypass_dev().
>
> Signed-off-by: Daeseok Youn <[email protected]>
> ---
> 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

2014-04-23 11:19:37

by Daeseok Youn

[permalink] [raw]
Subject: Re: [PATCH] staging: silicom: remove redundant pci_get_drvdata() call

2014-04-23 17:35 GMT+09:00, Dan Carpenter <[email protected]>:
> On Wed, Apr 23, 2014 at 05:18:42PM +0900, Daeseok Youn wrote:
>> The pci_get_drvdata() and checking NULL for dev are
>> called twice in while loop in is_bypass_dev().
>>
>> Signed-off-by: Daeseok Youn <[email protected]>
>> ---
>> 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.
Ok. Thanks for comment.

Regards,
Daeseok Youn
>
> regards,
> dan carpenter
>
>