2010-08-16 16:29:17

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 16/16] drivers/net/qlcnic: Use available error codes

From: Julia Lawall <[email protected]>

The error code is stored in the variable err, but it is the variable ret
that is returned instead. So store the error code in ret. Err is then
useless.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
local idexpression x;
constant C;
@@

if (...) { ...
x = -C
... when != x
(
return <+...x...+>;
|
return NULL;
|
return;
|
* return ...;
)
}
// </smpl>

Signed-off-by: Julia Lawall <[email protected]>

---
This changes the semantics and has not been tested.

drivers/net/qlcnic/qlcnic_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index b9615bd..142ab1d 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -474,7 +474,7 @@ static int
qlcnic_init_pci_info(struct qlcnic_adapter *adapter)
{
struct qlcnic_pci_info pci_info[QLCNIC_MAX_PCI_FUNC];
- int i, ret = 0, err;
+ int i, ret = 0;
u8 pfn;

if (!adapter->npars)
@@ -487,7 +487,7 @@ qlcnic_init_pci_info(struct qlcnic_adapter *adapter)
adapter->eswitch = kzalloc(sizeof(struct qlcnic_eswitch) *
QLCNIC_NIU_MAX_XG_PORTS, GFP_KERNEL);
if (!adapter->eswitch) {
- err = -ENOMEM;
+ ret = -ENOMEM;
goto err_eswitch;
}


2010-08-16 18:36:04

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH 16/16] drivers/net/qlcnic: Use available error codes

On Mon, Aug 16, 2010 at 06:29:13PM +0200, Julia Lawall wrote:
> From: Julia Lawall <[email protected]>
>
> The error code is stored in the variable err, but it is the variable ret
> that is returned instead. So store the error code in ret. Err is then
> useless.

Could you redo this for the latest git? (Sorry, I recently made the
problem slightly worse by adding another "err = -ENOMEM;")...

regards,
dan carpenter

2010-08-16 19:05:31

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH 16/16] drivers/net/qlcnic: Use available error codes

On Mon, 16 Aug 2010, Dan Carpenter wrote:

> On Mon, Aug 16, 2010 at 06:29:13PM +0200, Julia Lawall wrote:
> > From: Julia Lawall <[email protected]>
> >
> > The error code is stored in the variable err, but it is the variable ret
> > that is returned instead. So store the error code in ret. Err is then
> > useless.
>
> Could you redo this for the latest git? (Sorry, I recently made the
> problem slightly worse by adding another "err = -ENOMEM;")...

Sure. I'll send it shortly.

julia

2010-08-16 20:23:56

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH 16/16] drivers/net/qlcnic: Use available error codes

From: Julia Lawall <[email protected]>

The error code is stored in the variable err, but it is the variable ret
that is returned instead. So store the error code in ret. Err is then
useless.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
local idexpression x;
constant C;
@@

if (...) { ...
x = -C
... when != x
(
return <+...x...+>;
|
return NULL;
|
return;
|
* return ...;
)
}
// </smpl>

Signed-off-by: Julia Lawall <[email protected]>

---
This changes the semantics and has not been tested.
This version is based on a more recent version of the file than the
previous version.

drivers/net/qlcnic/qlcnic_main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index bf6d87a..81d9d75 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -474,7 +474,7 @@ static int
qlcnic_init_pci_info(struct qlcnic_adapter *adapter)
{
struct qlcnic_pci_info *pci_info;
- int i, ret = 0, err;
+ int i, ret = 0;
u8 pfn;

pci_info = kcalloc(QLCNIC_MAX_PCI_FUNC, sizeof(*pci_info), GFP_KERNEL);
@@ -484,14 +484,14 @@ qlcnic_init_pci_info(struct qlcnic_adapter *adapter)
adapter->npars = kzalloc(sizeof(struct qlcnic_npar_info) *
QLCNIC_MAX_PCI_FUNC, GFP_KERNEL);
if (!adapter->npars) {
- err = -ENOMEM;
+ ret = -ENOMEM;
goto err_pci_info;
}

adapter->eswitch = kzalloc(sizeof(struct qlcnic_eswitch) *
QLCNIC_NIU_MAX_XG_PORTS, GFP_KERNEL);
if (!adapter->eswitch) {
- err = -ENOMEM;
+ ret = -ENOMEM;
goto err_npars;
}

2010-08-18 21:28:26

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 16/16] drivers/net/qlcnic: Use available error codes

From: Julia Lawall <[email protected]>
Date: Mon, 16 Aug 2010 18:29:13 +0200 (CEST)

> From: Julia Lawall <[email protected]>
>
> The error code is stored in the variable err, but it is the variable ret
> that is returned instead. So store the error code in ret. Err is then
> useless.
>
> The semantic match that finds this problem is as follows:
> (http://coccinelle.lip6.fr/)
...
> Signed-off-by: Julia Lawall <[email protected]>

Applied.