Re: 3ware glitches cause softraid rebuilds

From: Bill Davidsen
Date: Mon Sep 04 2006 - 12:51:25 EST


adam radford wrote:

Jim,

Can you try the attached (and below) patch for 2.6.17.11?


Don't you want the sleep BEFORE setting the new value? ie. giving a wait for status to change before checking it again?


Also, please make sure you are running the latest firmware.

Thanks,

-Adam

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;
}

------------------------------------------------------------------------

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;
}




--
bill davidsen <davidsen@xxxxxxx>
CTO TMR Associates, Inc
Doing interesting things with small computers since 1979

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/