Tejun Heo wrote: > Igor Durdanovic wrote: >> Tejun Heo writes: >>>> Can you try to update the firmware as explained in the SIMG support page >>>> and see whether that fixes the problem? >> I am actually trying to put all the sw on the array, will try to >> update firmware later. >> >> Have some weird problems .. the whole thing just froze, sigh. >> Also, why can't I enable write-caching on each drive behind PM? > > You should be. What do you mean by not being able to enable write-caching? > >>> Hmmm... Before doing that, do your drives spin up one-by-one as the >>> above probing progresses? >> Yes, the probing starts with the bottom drive and progresses to the >> top. But it seems for each drive it resets (from the bottom) all >> already probed drives. > > SRST failure puts the host port into non-responding state and the driver > resets the host port which in turn resets the PMP, so libata tries to > reinitialize everything. Can you post boot log with printk timestamp > (CONFIG_PRINTK_TIME) turned on? > Also, does the attached patch change the behavior? -- tejun
--- drivers/ata/libata-eh.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: work/drivers/ata/libata-eh.c =================================================================== --- work.orig/drivers/ata/libata-eh.c +++ work/drivers/ata/libata-eh.c @@ -2180,7 +2180,8 @@ int ata_eh_reset(struct ata_link *link, "(errno=%d), retrying in %u secs\n", rc, (jiffies_to_msecs(delta) + 999) / 1000); - schedule_timeout_uninterruptible(delta); + while (delta) + delta = schedule_timeout_uninterruptible(delta); } if (rc == -EPIPE ||