From: Xiangliang Yu Date: Thu, 29 Sep 2011 07:34:11 +0000 (-0700) Subject: [SCSI] mvsas: fixed wrong destination when hiting NAK for command frame X-Git-Tag: firefly_0821_release~3680^2~4269^2~61 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=07f098e6f4a9a488605d6a3a13ce2805023a0384;p=firefly-linux-kernel-4.4.55.git [SCSI] mvsas: fixed wrong destination when hiting NAK for command frame disable non data frame retry Signed-off-by: Xiangliang Yu Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/mvsas/mv_94xx.c b/drivers/scsi/mvsas/mv_94xx.c index 8f32c7c567cf..ce4e970bcedf 100644 --- a/drivers/scsi/mvsas/mv_94xx.c +++ b/drivers/scsi/mvsas/mv_94xx.c @@ -398,6 +398,16 @@ static int __devinit mvs_94xx_init(struct mvs_info *mvi) /* init phys */ mvs_phy_hacks(mvi); + /* disable non data frame retry */ + tmp = mvs_cr32(mvi, CMD_SAS_CTL1); + if ((revision == VANIR_A0_REV) || + (revision == VANIR_B0_REV) || + (revision == VANIR_C0_REV)) { + tmp &= ~0xffff; + tmp |= 0x007f; + mvs_cw32(mvi, CMD_SAS_CTL1, tmp); + } + /* set LED blink when IO*/ mw32(MVS_PA_VSR_ADDR, VSR_PHY_ACT_LED); tmp = mr32(MVS_PA_VSR_PORT);