From: Andrew Vasquez Date: Thu, 28 Feb 2008 22:06:10 +0000 (-0800) Subject: [SCSI] qla2xxx: Correct discrepancies during OVERRUN handling on FWI2-capable cards. X-Git-Tag: v2.6.25-rc5~25^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e8ce320cfc6cc10a7b99d8d6508d00bde20fdb7;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git [SCSI] qla2xxx: Correct discrepancies during OVERRUN handling on FWI2-capable cards. For recent ISPs, software must detect OVERRUN conditions by checking the SS_RESIDUAL_OVER bit during CS_COMPLETE handling. Update the driver to perform this check, which is consistent with what earlier firmwares did by explicitly cracking open the FCP_RSP statuses and returning an CS_DATA_OVERRUN. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 14e6f22..f033703 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -958,6 +958,11 @@ qla2x00_status_entry(scsi_qla_host_t *ha, void *pkt) } } + /* Check for overrun. */ + if (IS_FWI2_CAPABLE(ha) && comp_status == CS_COMPLETE && + scsi_status & SS_RESIDUAL_OVER) + comp_status = CS_DATA_OVERRUN; + /* * Based on Host and scsi status generate status code for Linux */