[MIPS] time: Make c0_compare_int_usable more bullet proof
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Mon, 22 Oct 2007 16:14:06 +0000 (01:14 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 22 Oct 2007 21:09:01 +0000 (22:09 +0100)
Use write_c0_compare(read_c0_count()) to clear interrupt.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/cevt-r4k.c

index a915e5693421d73f93bf3301df34e180ab17cd5d..ae2984fff580026cb30c597bbfc83704867a2230 100644 (file)
@@ -186,7 +186,7 @@ static int c0_compare_int_usable(void)
         * IP7 already pending?  Try to clear it by acking the timer.
         */
        if (c0_compare_int_pending()) {
-               write_c0_compare(read_c0_compare());
+               write_c0_compare(read_c0_count());
                irq_disable_hazard();
                if (c0_compare_int_pending())
                        return 0;
@@ -202,7 +202,7 @@ static int c0_compare_int_usable(void)
        if (!c0_compare_int_pending())
                return 0;
 
-       write_c0_compare(read_c0_compare());
+       write_c0_compare(read_c0_count());
        irq_disable_hazard();
        if (c0_compare_int_pending())
                return 0;