From: Kashyap, Desai Date: Wed, 20 Jul 2011 15:58:03 +0000 (+0530) Subject: [SCSI] mptfusion : Added check for SILI bit in READ_6 CDB for DATA UNDERRUN ERRATA X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=e466e1c6e14e211e0ece86bdb0810b1b9c1a59a8;p=deliverable%2Flinux.git [SCSI] mptfusion : Added check for SILI bit in READ_6 CDB for DATA UNDERRUN ERRATA When READ_6 command is issued, the setting of SILI Bit in CDB is confirmed and if SILI bit is off, the processing of relavent Errata is executed. Earlier we did not have check for SILI bit in READ_6 CDB. As described in "ssc-r22", Now Driver is checking SILI bit for READ_6. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley --- diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index a1d4ee6671be..ce61a5769765 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c @@ -827,7 +827,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) * DID_SOFT_ERROR is set. */ if (ioc->bus_type == SPI) { - if (pScsiReq->CDB[0] == READ_6 || + if ((pScsiReq->CDB[0] == READ_6 && ((pScsiReq->CDB[1] & 0x02) == 0)) || pScsiReq->CDB[0] == READ_10 || pScsiReq->CDB[0] == READ_12 || pScsiReq->CDB[0] == READ_16 ||