diff -Naur linux-2.6.17.11/drivers/scsi/3w-9xxx.c linux-2.6.17.12/drivers/scsi/3w-9xxx.c --- linux-2.6.17.11/drivers/scsi/3w-9xxx.c 2006-08-23 14:16:33.000000000 -0700 +++ linux-2.6.17.12/drivers/scsi/3w-9xxx.c 2006-08-28 17:48:29.000000000 -0700 @@ -943,6 +943,7 @@ before = jiffies; while ((response_que_value & TW_9550SX_DRAIN_COMPLETED) != TW_9550SX_DRAIN_COMPLETED) { response_que_value = readl(TW_RESPONSE_QUEUE_REG_ADDR_LARGE(tw_dev)); + msleep(1); if (time_after(jiffies, before + HZ * 30)) goto out; }