[SCSI] mptfusion : Added check for SILI bit in READ_6 CDB for DATA UNDERRUN ERRATA
authorKashyap, Desai <kashyap.desai@lsi.com>
Wed, 20 Jul 2011 15:58:03 +0000 (21:28 +0530)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 27 Jul 2011 10:20:02 +0000 (14:20 +0400)
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 <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/message/fusion/mptscsih.c

index a1d4ee6671be52a201a6385c63763ec7fb8b9bc8..ce61a5769765a4fda0fd4b5acfc2883a937480c6 100644 (file)
@@ -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 ||