On Wed, 1 Jun 2011, walter harms wrote: > > > Am 01.06.2011 19:10, schrieb Julia Lawall: > > From: Julia Lawall <julia@xxxxxxx> > > > > 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@xxxxxxx> > > > > --- > > 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 -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html