[PATCH] i386: add missing iounmap in i386 hpet clocksource code
ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad <amol@verismonetworks.com> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
@@ -34,6 +34,7 @@ static int __init init_hpet_clocksource(void)
|
|||||||
unsigned long hpet_period;
|
unsigned long hpet_period;
|
||||||
void __iomem* hpet_base;
|
void __iomem* hpet_base;
|
||||||
u64 tmp;
|
u64 tmp;
|
||||||
|
int err;
|
||||||
|
|
||||||
if (!is_hpet_enabled())
|
if (!is_hpet_enabled())
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
@@ -61,7 +62,11 @@ static int __init init_hpet_clocksource(void)
|
|||||||
do_div(tmp, FSEC_PER_NSEC);
|
do_div(tmp, FSEC_PER_NSEC);
|
||||||
clocksource_hpet.mult = (u32)tmp;
|
clocksource_hpet.mult = (u32)tmp;
|
||||||
|
|
||||||
return clocksource_register(&clocksource_hpet);
|
err = clocksource_register(&clocksource_hpet);
|
||||||
|
if (err)
|
||||||
|
iounmap(hpet_base);
|
||||||
|
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
module_init(init_hpet_clocksource);
|
module_init(init_hpet_clocksource);
|
||||||
|
Reference in New Issue
Block a user