Skip to content

Commit 2e4ceec

Browse files
Julia Lawalldavem330
authored andcommitted
drivers/net/can/flexcan.c: add missing clk_put
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> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 6979d5d commit 2e4ceec

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

drivers/net/can/flexcan.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -923,7 +923,7 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
923923
mem_size = resource_size(mem);
924924
if (!request_mem_region(mem->start, mem_size, pdev->name)) {
925925
err = -EBUSY;
926-
goto failed_req;
926+
goto failed_get;
927927
}
928928

929929
base = ioremap(mem->start, mem_size);
@@ -977,9 +977,8 @@ static int __devinit flexcan_probe(struct platform_device *pdev)
977977
iounmap(base);
978978
failed_map:
979979
release_mem_region(mem->start, mem_size);
980-
failed_req:
981-
clk_put(clk);
982980
failed_get:
981+
clk_put(clk);
983982
failed_clock:
984983
return err;
985984
}

0 commit comments

Comments
 (0)