mvsas: increase port type detection delay to suit Seagate's 10k6 drive ST3450856SS...
authorReinhard Nissl <rnissl@gmx.de>
Wed, 10 Dec 2008 23:31:03 +0000 (00:31 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 18 Jan 2009 18:35:44 +0000 (10:35 -0800)
commit ddccf307a3599e452804e228d8ed30fba578923e upstream.

I increased the delay step by step until loading of mvsas
reliably detected the drive 200 times in sequence. A much better
approach would be to monitor the hardware for some flag which
indicates that port detection has finished, but I do not have any
hardware documentation.

Signed-off-by: Reinhard Nissl <rnissl@gmx.de>
Cc: Ke Wei <kewei@marvell.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/mvsas.c

index 1dd70d7..23e5a87 100644 (file)
@@ -2959,7 +2959,7 @@ static int __devinit mvs_hw_init(struct mvs_info *mvi)
 
        /* enable auto port detection */
        mw32(GBL_PORT_TYPE, MODE_AUTO_DET_EN);
-       msleep(100);
+       msleep(1100);
        /* init and reset phys */
        for (i = 0; i < mvi->chip->n_phy; i++) {
                u32 lo = be32_to_cpu(*(u32 *)&mvi->sas_addr[4]);