2010-08-16 16:27:35

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 10/16] drivers/net/wireless/wl12xx: Use available error codes

From: Julia Lawall <[email protected]>

Error codes are stored in ret, but the return value is always 0. Return
ret instead.

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/wireless/wl12xx/wl1271_acx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/wl12xx/wl1271_acx.c b/drivers/net/wireless/wl12xx/wl1271_acx.c
index bb245f0..f03ad08 100644
--- a/drivers/net/wireless/wl12xx/wl1271_acx.c
+++ b/drivers/net/wireless/wl12xx/wl1271_acx.c
@@ -269,7 +269,7 @@ int wl1271_acx_pd_threshold(struct wl1271 *wl)

out:
kfree(pd);
- return 0;
+ return ret;
}

int wl1271_acx_slot(struct wl1271 *wl, enum acx_slot_type slot_time)


2010-08-17 05:50:12

by Luciano Coelho

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

On Mon, 2010-08-16 at 18:27 +0200, ext Julia Lawall wrote:
> From: Julia Lawall <[email protected]>
>
> Error codes are stored in ret, but the return value is always 0. Return
> ret instead.
>
> 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 was indeed a bug. Thanks!

Acked-by: Luciano Coelho <[email protected]>

--
Cheers,
Luca.