[PATCH] i386: Fix bogus return value in hpet_next_event()
authorThomas Gleixner <tglx@linutronix.de>
Tue, 27 Mar 2007 07:08:26 +0000 (09:08 +0200)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 27 Mar 2007 16:08:08 +0000 (09:08 -0700)
The clockevents / tick management code expects an error value, when the
event is already expired. hpet_next_event() returns 1 in that case.

Fix it to return the proper -ETIME error code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/i386/kernel/hpet.c

index f3ab61e..76afea6 100644 (file)
@@ -197,7 +197,7 @@ static int hpet_next_event(unsigned long delta,
        cnt += delta;
        hpet_writel(cnt, HPET_T0_CMP);
 
-       return ((long)(hpet_readl(HPET_COUNTER) - cnt ) > 0);
+       return ((long)(hpet_readl(HPET_COUNTER) - cnt ) > 0) ? -ETIME : 0;
 }
 
 /*