Add irq_disable_hazard() before c0_compare_int_pending(). VR41xx sometime fails at this point. It can be fix this patch. Signed-off-by: Yoichi Yuasa <yoichi_yuasa@xxxxxxxxxxxxxx> diff -pruN -X /home/yuasa/Memo/dontdiff linux-orig/arch/mips/kernel/cevt-r4k.c linux/arch/mips/kernel/cevt-r4k.c --- linux-orig/arch/mips/kernel/cevt-r4k.c 2008-03-12 16:37:31.317624763 +0900 +++ linux/arch/mips/kernel/cevt-r4k.c 2008-03-12 16:37:39.894113510 +0900 @@ -205,6 +205,7 @@ static int c0_compare_int_usable(void) while ((int)(read_c0_count() - cnt) <= 0) ; /* Wait for expiry */ + irq_disable_hazard(); if (!c0_compare_int_pending()) return 0;