Add cpu_relax() to drivers/ide/ide-iops.c/ide_wait_stat(). Tiny whitespace fix. Should be quite useful. Tested on 2.6.17-mm1. Signed-off-by: Andreas Mohr <andi@xxxxxxxx> diff -urN linux-2.6.17-mm1.orig/drivers/ide/ide-iops.c linux-2.6.17-mm1.my/drivers/ide/ide-iops.c --- linux-2.6.17-mm1.orig/drivers/ide/ide-iops.c 2006-06-21 14:28:16.000000000 +0200 +++ linux-2.6.17-mm1.my/drivers/ide/ide-iops.c 2006-06-21 22:00:02.000000000 +0200 @@ -542,7 +542,7 @@ u8 stat; int i; unsigned long flags; - + /* bail early if we've exceeded max_failures */ if (drive->max_failures && (drive->failures > drive->max_failures)) { *startstop = ide_stopped; @@ -554,6 +554,7 @@ local_irq_set(flags); timeout += jiffies; while ((stat = hwif->INB(IDE_STATUS_REG)) & BUSY_STAT) { + cpu_relax(); if (time_after(jiffies, timeout)) { /* * One last read after the timeout in case - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html