* [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put
@ 2011-06-01 17:10 Julia Lawall
2011-06-01 17:26 ` Joe Perches
2011-06-01 17:54 ` walter harms
0 siblings, 2 replies; 9+ messages in thread
From: Julia Lawall @ 2011-06-01 17:10 UTC (permalink / raw)
To: Wolfgang Grandegger; +Cc: kernel-janitors, socketcan-core, netdev, linux-kernel
From: Julia Lawall <julia@diku.dk>
The failed_get label is used after the call to clk_get has succeeded, so it
should be moved up above the call to clk_put.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@r exists@
expression e1,e2;
statement S;
@@
e1 = clk_get@p1(...);
... when != e1 = e2
when != clk_put(e1)
when any
if (...) { ... when != clk_put(e1)
when != if (...) { ... clk_put(e1) ... }
* return@p3 ...;
} else S
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
drivers/net/can/flexcan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index d499056..121739c 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -978,8 +978,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
failed_map:
release_mem_region(mem->start, mem_size);
failed_req:
- clk_put(clk);
failed_get:
+ clk_put(clk);
failed_clock:
return err;
}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put
2011-06-01 17:10 [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put Julia Lawall
@ 2011-06-01 17:26 ` Joe Perches
2011-06-01 20:08 ` Julia Lawall
2011-06-01 17:54 ` walter harms
1 sibling, 1 reply; 9+ messages in thread
From: Joe Perches @ 2011-06-01 17:26 UTC (permalink / raw)
To: Julia Lawall
Cc: Wolfgang Grandegger, kernel-janitors, socketcan-core, netdev,
linux-kernel
On Wed, 2011-06-01 at 19:10 +0200, Julia Lawall wrote:
> The failed_get label is used after the call to clk_get has succeeded, so it
> should be moved up above the call to clk_put.
[]
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
[]
> @@ -978,8 +978,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
> failed_map:
> release_mem_region(mem->start, mem_size);
> failed_req:
> - clk_put(clk);
> failed_get:
> + clk_put(clk);
> failed_clock:
> return err;
If this is correct, it might be better to rename all the
uses of failed_req to failed_get and delete label failed_req.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put
2011-06-01 17:26 ` Joe Perches
@ 2011-06-01 20:08 ` Julia Lawall
2011-06-01 20:11 ` David Miller
0 siblings, 1 reply; 9+ messages in thread
From: Julia Lawall @ 2011-06-01 20:08 UTC (permalink / raw)
To: Joe Perches
Cc: socketcan-core-0fE9KPoRgkgATYTw5x5z8w,
netdev-u79uwXL29TY76Z2rM5mHXA,
kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Wolfgang Grandegger
On Wed, 1 Jun 2011, Joe Perches wrote:
> On Wed, 2011-06-01 at 19:10 +0200, Julia Lawall wrote:
> > The failed_get label is used after the call to clk_get has succeeded, so it
> > should be moved up above the call to clk_put.
> []
> > diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> []
> > @@ -978,8 +978,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
> > failed_map:
> > release_mem_region(mem->start, mem_size);
> > failed_req:
> > - clk_put(clk);
> > failed_get:
> > + clk_put(clk);
> > failed_clock:
> > return err;
>
> If this is correct, it might be better to rename all the
> uses of failed_req to failed_get and delete label failed_req.
As I replied to Walter Harms, I believe it is correct, because I don't see
anything in the called functions that needs to be freed. I can redo the
patch to eliminate the label.
julia
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put
2011-06-01 20:08 ` Julia Lawall
@ 2011-06-01 20:11 ` David Miller
[not found] ` <20110601.131136.391831410750786951.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2011-06-01 20:11 UTC (permalink / raw)
To: julia; +Cc: joe, wg, kernel-janitors, socketcan-core, netdev, linux-kernel
From: Julia Lawall <julia@diku.dk>
Date: Wed, 1 Jun 2011 22:08:46 +0200 (CEST)
> On Wed, 1 Jun 2011, Joe Perches wrote:
>
>> On Wed, 2011-06-01 at 19:10 +0200, Julia Lawall wrote:
>> > The failed_get label is used after the call to clk_get has succeeded, so it
>> > should be moved up above the call to clk_put.
>> []
>> > diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
>> []
>> > @@ -978,8 +978,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
>> > failed_map:
>> > release_mem_region(mem->start, mem_size);
>> > failed_req:
>> > - clk_put(clk);
>> > failed_get:
>> > + clk_put(clk);
>> > failed_clock:
>> > return err;
>>
>> If this is correct, it might be better to rename all the
>> uses of failed_req to failed_get and delete label failed_req.
>
> As I replied to Walter Harms, I believe it is correct, because I don't see
> anything in the called functions that needs to be freed. I can redo the
> patch to eliminate the label.
Please do.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put
2011-06-01 17:10 [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put Julia Lawall
2011-06-01 17:26 ` Joe Perches
@ 2011-06-01 17:54 ` walter harms
[not found] ` <4DE67CBF.5080006-fPG8STNUNVg@public.gmane.org>
1 sibling, 1 reply; 9+ messages in thread
From: walter harms @ 2011-06-01 17:54 UTC (permalink / raw)
To: Julia Lawall
Cc: Wolfgang Grandegger, kernel-janitors, socketcan-core, netdev,
linux-kernel
Am 01.06.2011 19:10, schrieb Julia Lawall:
> From: Julia Lawall <julia@diku.dk>
>
> The failed_get label is used after the call to clk_get has succeeded, so it
> should be moved up above the call to clk_put.
>
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @r exists@
> expression e1,e2;
> statement S;
> @@
>
> e1 = clk_get@p1(...);
> ... when != e1 = e2
> when != clk_put(e1)
> when any
> if (...) { ... when != clk_put(e1)
> when != if (...) { ... clk_put(e1) ... }
> * return@p3 ...;
> } else S
> // </smpl>
>
> Signed-off-by: Julia Lawall <julia@diku.dk>
>
> ---
> drivers/net/can/flexcan.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index d499056..121739c 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -978,8 +978,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
> failed_map:
> release_mem_region(mem->start, mem_size);
> failed_req:
> - clk_put(clk);
> failed_get:
> + clk_put(clk);
> failed_clock:
> return err;
> }
>
So failed_req == failed_get, is that intended ?
re,
wh
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-06-02 7:10 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-01 17:10 [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put Julia Lawall
2011-06-01 17:26 ` Joe Perches
2011-06-01 20:08 ` Julia Lawall
2011-06-01 20:11 ` David Miller
[not found] ` <20110601.131136.391831410750786951.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2011-06-01 20:13 ` Julia Lawall
2011-06-02 5:48 ` Julia Lawall
[not found] ` <Pine.LNX.4.64.1106020748020.22932-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org>
2011-06-02 7:10 ` David Miller
2011-06-01 17:54 ` walter harms
[not found] ` <4DE67CBF.5080006-fPG8STNUNVg@public.gmane.org>
2011-06-01 20:04 ` Julia Lawall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).