* [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put
@ 2011-06-01 17:10 ` Julia Lawall
0 siblings, 0 replies; 23+ 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] 23+ messages in thread* [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 17:10 ` Julia Lawall 0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [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 -1 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 17:26 ` Joe Perches 0 siblings, 0 replies; 23+ 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] 23+ 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 -1 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:08 UTC (permalink / raw) To: Joe Perches Cc: Wolfgang Grandegger, kernel-janitors, socketcan-core, netdev, linux-kernel 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 20:08 ` Julia Lawall 0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 20:08 ` Julia Lawall 0 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:08 UTC (permalink / raw) To: Joe Perches Cc: Wolfgang Grandegger, kernel-janitors, socketcan-core, netdev, linux-kernel 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] 23+ 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 -1 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 20:11 ` David Miller 0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put 2011-06-01 20:11 ` David Miller (?) @ 2011-06-01 20:13 ` Julia Lawall -1 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:13 UTC (permalink / raw) To: David Miller Cc: joe, wg, kernel-janitors, socketcan-core, netdev, linux-kernel On Wed, 1 Jun 2011, David Miller wrote: > 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. OK, I will do it tomorrow. julia ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 20:13 ` Julia Lawall 0 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:13 UTC (permalink / raw) To: David Miller Cc: netdev-u79uwXL29TY76Z2rM5mHXA, kernel-janitors-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, socketcan-core-0fE9KPoRgkgATYTw5x5z8w, joe-6d6DIl74uiNBDgjK7y7TUQ, wg-5Yr1BZd7O62+XT7JhA+gdA On Wed, 1 Jun 2011, David Miller wrote: > From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> > 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. OK, I will do it tomorrow. julia ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 20:13 ` Julia Lawall 0 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:13 UTC (permalink / raw) To: David Miller Cc: joe, wg, kernel-janitors, socketcan-core, netdev, linux-kernel On Wed, 1 Jun 2011, David Miller wrote: > 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. OK, I will do it tomorrow. julia ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put 2011-06-01 20:11 ` David Miller (?) @ 2011-06-02 5:48 ` Julia Lawall -1 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-02 5:48 UTC (permalink / raw) To: David Miller Cc: joe, wg, kernel-janitors, socketcan-core, netdev, linux-kernel, wharms 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. The failed_req labels doesn't do anything different than failed_get, so delete it. 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 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index d499056..1767811 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -923,7 +923,7 @@ static int __devinit flexcan_probe(struct platform_device *pdev) mem_size = resource_size(mem); if (!request_mem_region(mem->start, mem_size, pdev->name)) { err = -EBUSY; - goto failed_req; + goto failed_get; } base = ioremap(mem->start, mem_size); @@ -977,9 +977,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev) iounmap(base); 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-02 5:48 ` Julia Lawall 0 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-02 5:48 UTC (permalink / raw) To: David Miller Cc: netdev-u79uwXL29TY76Z2rM5mHXA, kernel-janitors-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, socketcan-core-0fE9KPoRgkgATYTw5x5z8w, joe-6d6DIl74uiNBDgjK7y7TUQ, wg-5Yr1BZd7O62+XT7JhA+gdA, wharms-fPG8STNUNVg From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> 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. The failed_req labels doesn't do anything different than failed_get, so delete it. 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-dAYI7NvHqcQ@public.gmane.org> --- drivers/net/can/flexcan.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index d499056..1767811 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -923,7 +923,7 @@ static int __devinit flexcan_probe(struct platform_device *pdev) mem_size = resource_size(mem); if (!request_mem_region(mem->start, mem_size, pdev->name)) { err = -EBUSY; - goto failed_req; + goto failed_get; } base = ioremap(mem->start, mem_size); @@ -977,9 +977,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev) iounmap(base); 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-02 5:48 ` Julia Lawall 0 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-02 5:48 UTC (permalink / raw) To: David Miller Cc: joe, wg, kernel-janitors, socketcan-core, netdev, linux-kernel, wharms 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. The failed_req labels doesn't do anything different than failed_get, so delete it. 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 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index d499056..1767811 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -923,7 +923,7 @@ static int __devinit flexcan_probe(struct platform_device *pdev) mem_size = resource_size(mem); if (!request_mem_region(mem->start, mem_size, pdev->name)) { err = -EBUSY; - goto failed_req; + goto failed_get; } base = ioremap(mem->start, mem_size); @@ -977,9 +977,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev) iounmap(base); 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put 2011-06-02 5:48 ` Julia Lawall (?) @ 2011-06-02 7:10 ` David Miller -1 siblings, 0 replies; 23+ messages in thread From: David Miller @ 2011-06-02 7:10 UTC (permalink / raw) To: julia Cc: joe, wg, kernel-janitors, socketcan-core, netdev, linux-kernel, wharms From: Julia Lawall <julia@diku.dk> Date: Thu, 2 Jun 2011 07:48:50 +0200 (CEST) > 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. > > The failed_req labels doesn't do anything different than failed_get, so > delete it. > > A simplified version of the semantic match that finds this problem is as > follows: (http://coccinelle.lip6.fr/) ... > Signed-off-by: Julia Lawall <julia@diku.dk> Applied. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-02 7:10 ` David Miller 0 siblings, 0 replies; 23+ messages in thread From: David Miller @ 2011-06-02 7:10 UTC (permalink / raw) To: julia-dAYI7NvHqcQ Cc: netdev-u79uwXL29TY76Z2rM5mHXA, kernel-janitors-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, socketcan-core-0fE9KPoRgkgATYTw5x5z8w, joe-6d6DIl74uiNBDgjK7y7TUQ, wg-5Yr1BZd7O62+XT7JhA+gdA, wharms-fPG8STNUNVg From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> Date: Thu, 2 Jun 2011 07:48:50 +0200 (CEST) > From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> > > 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. > > The failed_req labels doesn't do anything different than failed_get, so > delete it. > > A simplified version of the semantic match that finds this problem is as > follows: (http://coccinelle.lip6.fr/) ... > Signed-off-by: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> Applied. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-02 7:10 ` David Miller 0 siblings, 0 replies; 23+ messages in thread From: David Miller @ 2011-06-02 7:10 UTC (permalink / raw) To: julia Cc: joe, wg, kernel-janitors, socketcan-core, netdev, linux-kernel, wharms From: Julia Lawall <julia@diku.dk> Date: Thu, 2 Jun 2011 07:48:50 +0200 (CEST) > 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. > > The failed_req labels doesn't do anything different than failed_get, so > delete it. > > A simplified version of the semantic match that finds this problem is as > follows: (http://coccinelle.lip6.fr/) ... > Signed-off-by: Julia Lawall <julia@diku.dk> Applied. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put 2011-06-01 17:10 ` Julia Lawall @ 2011-06-01 17:54 ` walter harms -1 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 17:54 ` walter harms 0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put 2011-06-01 17:54 ` walter harms (?) @ 2011-06-01 20:04 ` Julia Lawall -1 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:04 UTC (permalink / raw) To: walter harms Cc: Wolfgang Grandegger, kernel-janitors, socketcan-core, netdev, linux-kernel On Wed, 1 Jun 2011, walter harms wrote: > > > 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 ? I have the impression that it is. failed_req comes after successful calls to platform_get_resource and platform_get_irq, which don't allocate anything. julia ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 20:04 ` Julia Lawall 0 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:04 UTC (permalink / raw) To: walter harms Cc: socketcan-core-0fE9KPoRgkgATYTw5x5z8w, netdev-u79uwXL29TY76Z2rM5mHXA, kernel-janitors-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Wolfgang Grandegger On Wed, 1 Jun 2011, walter harms wrote: > > > Am 01.06.2011 19:10, schrieb Julia Lawall: > > From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> > > > > 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-dAYI7NvHqcQ@public.gmane.org> > > > > --- > > 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 ? I have the impression that it is. failed_req comes after successful calls to platform_get_resource and platform_get_irq, which don't allocate anything. julia ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/10] drivers/net/can/flexcan.c: add missing clk_put @ 2011-06-01 20:04 ` Julia Lawall 0 siblings, 0 replies; 23+ messages in thread From: Julia Lawall @ 2011-06-01 20:04 UTC (permalink / raw) To: walter harms Cc: Wolfgang Grandegger, kernel-janitors, socketcan-core, netdev, linux-kernel On Wed, 1 Jun 2011, walter harms wrote: > > > 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 ? I have the impression that it is. failed_req comes after successful calls to platform_get_resource and platform_get_irq, which don't allocate anything. julia ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2011-06-02 7:11 UTC | newest] Thread overview: 23+ 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:10 ` Julia Lawall 2011-06-01 17:26 ` Joe Perches 2011-06-01 17:26 ` Joe Perches 2011-06-01 20:08 ` Julia Lawall 2011-06-01 20:08 ` Julia Lawall 2011-06-01 20:08 ` Julia Lawall 2011-06-01 20:11 ` David Miller 2011-06-01 20:11 ` David Miller 2011-06-01 20:13 ` Julia Lawall 2011-06-01 20:13 ` Julia Lawall 2011-06-01 20:13 ` Julia Lawall 2011-06-02 5:48 ` Julia Lawall 2011-06-02 5:48 ` Julia Lawall 2011-06-02 5:48 ` Julia Lawall 2011-06-02 7:10 ` David Miller 2011-06-02 7:10 ` David Miller 2011-06-02 7:10 ` David Miller 2011-06-01 17:54 ` walter harms 2011-06-01 17:54 ` walter harms 2011-06-01 20:04 ` Julia Lawall 2011-06-01 20:04 ` Julia Lawall 2011-06-01 20:04 ` Julia Lawall
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.