]> err.no Git - linux-2.6/blobdiff - arch/i386/kernel/hpet.c
[PATCH] i386: add missing iounmap in i386 hpet clocksource code
[linux-2.6] / arch / i386 / kernel / hpet.c
index c6737c35815db8fff2ede01f0322773eda864a34..45a8685bb60bb5e21e638cd6c0b6df95586606f2 100644 (file)
@@ -34,8 +34,9 @@ static int __init init_hpet_clocksource(void)
        unsigned long hpet_period;
        void __iomem* hpet_base;
        u64 tmp;
+       int err;
 
-       if (!hpet_address)
+       if (!is_hpet_enabled())
                return -ENODEV;
 
        /* calculate the hpet address: */
@@ -61,7 +62,11 @@ static int __init init_hpet_clocksource(void)
        do_div(tmp, FSEC_PER_NSEC);
        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);