[SCSI] mvsas: fixed SMP request watchdog timeout issue.
authorXiangliang Yu <yuxiangl@marvell.com>
Thu, 29 Sep 2011 07:35:15 +0000 (00:35 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 2 Oct 2011 18:18:01 +0000 (13:18 -0500)
set SMP link timeout value to maximum.

Signed-off-by: Xiangliang Yu <yuxiangl@marvell.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/mvsas/mv_94xx.c
drivers/scsi/mvsas/mv_defs.h

index 130d803..7e423e5 100644 (file)
@@ -510,6 +510,10 @@ static int __devinit mvs_94xx_init(struct mvs_info *mvi)
        tmp |= CINT_PHY_MASK;
        mw32(MVS_INT_MASK, tmp);
 
+       tmp = mvs_cr32(mvi, CMD_LINK_TIMER);
+       tmp |= 0xFFFF0000;
+       mvs_cw32(mvi, CMD_LINK_TIMER, tmp);
+
        /* tune STP performance */
        tmp = 0x003F003F;
        mvs_cw32(mvi, CMD_PL_TIMER, tmp);
index 8e21482..f545194 100644 (file)
@@ -388,6 +388,7 @@ enum sas_cmd_port_registers {
        CMD_SL_MODE1            = 0x1C0, /* SL Mode 1 */
        CMD_PND_FIFO_CTL1       = 0x1C4, /* Pending FIFO Control 1 */
        CMD_PORT_LAYER_TIMER1   = 0x1E0, /* Port Layer Timer 1 */
+       CMD_LINK_TIMER          = 0x1E4, /* Link Timer */
 };
 
 enum mvs_info_flags {