[MIPS] time: Fix cevt-r4k.c for 64-bit kernel
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Tue, 23 Oct 2007 12:51:19 +0000 (21:51 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 29 Oct 2007 19:35:35 +0000 (19:35 +0000)
The expression "(long)(read_c0_count() - cnt)" can never be a negative
value on 64-bit kernel.  Cast to "int" before comparison.

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 cb46b02..7274fd2 100644 (file)
@@ -28,7 +28,7 @@ static int mips_next_event(unsigned long delta,
        cnt = read_c0_count();
        cnt += delta;
        write_c0_compare(cnt);
-       res = ((long)(read_c0_count() - cnt ) > 0) ? -ETIME : 0;
+       res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
 #ifdef CONFIG_MIPS_MT_SMTC
        evpe(vpflags);
        local_irq_restore(flags);
@@ -196,7 +196,7 @@ static int c0_compare_int_usable(void)
        cnt += delta;
        write_c0_compare(cnt);
 
-       while ((long)(read_c0_count() - cnt) <= 0)
+       while ((int)(read_c0_count() - cnt) <= 0)
                ;       /* Wait for expiry  */
 
        if (!c0_compare_int_pending())