Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Neither signals nor wait-queue events are important at this point in the code, I believe. Signed-off-by: Nishanth Aravamudan <[EMAIL PROTECTED]> Signed-off-by: Domen Puncer <[EMAIL PROTECTED]> --- kj-domen/arch/arm/mach-sa1100/cpu-sa1110.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN arch/arm/mach-sa1100/cpu-sa1110.c~msleep-arch_arm_mach-sa1100_cpu-sa1110 arch/arm/mach-sa1100/cpu-sa1110.c --- kj/arch/arm/mach-sa1100/cpu-sa1110.c~msleep-arch_arm_mach-sa1100_cpu-sa1110 2005-03-05 16:10:43.000000000 +0100 +++ kj-domen/arch/arm/mach-sa1100/cpu-sa1110.c 2005-03-05 16:10:43.000000000 +0100 @@ -271,8 +271,7 @@ static int sa1110_target(struct cpufreq_ */ sdram_set_refresh(2); if (!irqs_disabled()) { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(20 * HZ / 1000); + msleep(20); } else { mdelay(20); } _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/