diff options
author | Xiangliang Yu <yuxiangl@marvell.com> | 2011-09-29 00:34:11 -0700 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-10-02 13:14:00 -0500 |
commit | 07f098e6f4a9a488605d6a3a13ce2805023a0384 (patch) | |
tree | 62b3c08b04b566645987ea55f86b6fe369114c79 /drivers/scsi/mvsas | |
parent | 477f6d190bdebc9a3ec99e4bb396b981f747bf19 (diff) | |
download | linux-07f098e6f4a9a488605d6a3a13ce2805023a0384.tar.bz2 |
[SCSI] mvsas: fixed wrong destination when hiting NAK for command frame
disable non data frame retry
Signed-off-by: Xiangliang Yu <yuxiangl@marvell.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/mvsas')
-rw-r--r-- | drivers/scsi/mvsas/mv_94xx.c | 10 |
1 files changed, 10 insertions, 0 deletions
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); |