* [PATCH 1/2] drivers/clocksource/cyclone.c: Move up iounmap
@ 2010-08-27 21:01 Julia Lawall
0 siblings, 0 replies; only message in thread
From: Julia Lawall @ 2010-08-27 21:01 UTC (permalink / raw)
To: linux-kernel; +Cc: kernel-janitors
By moving the iounmap up above the test, it takes place whether the test
succeeds or fails.
The sematic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r exists@
local idexpression x;
expression E,E1;
identifier l;
statement S;
@@
*x = ioremap_nocache(...);
...
if (x == NULL) S
... when != iounmap(x)
when != if (...) { ... iounmap(x); ... }
when != E = x
if (...) {
... when != iounmap(x)
when != if (...) { ... iounmap(x); ... }
(
return <+...x...+>;
|
* return ...;
)
}
... when != x = E1
iounmap(x);
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
drivers/clocksource/cyclone.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clocksource/cyclone.c b/drivers/clocksource/cyclone.c
index 64e528e..4c62e20 100644
--- a/drivers/clocksource/cyclone.c
+++ b/drivers/clocksource/cyclone.c
@@ -57,11 +57,11 @@ static int __init init_cyclone_clocksource(void)
}
/* even on 64bit systems, this is only 32bits: */
base = readl(reg);
+ iounmap(reg);
if (!base) {
printk(KERN_ERR "Summit chipset: Could not find valid CBAR value.\n");
return -ENODEV;
}
- iounmap(reg);
/* setup PMCC: */
offset = base + CYCLONE_PMCC_OFFSET;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-08-27 21:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-27 21:01 [PATCH 1/2] drivers/clocksource/cyclone.c: Move up iounmap Julia Lawall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®