[SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling.

Add additional tightening of residual-count handling (originally
from commit 6acf819002) where the
driver should discard any lower SCSI-status during
firmware/transport residual-count mismatches.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Andrew Vasquez 2008-09-11 21:22:52 -07:00 committed by James Bottomley
parent cc3ef7bc40
commit 2d13693879

View File

@ -1060,8 +1060,9 @@ qla2x00_status_entry(scsi_qla_host_t *ha, void *pkt)
resid = resid_len;
/* Use F/W calculated residual length. */
if (IS_FWI2_CAPABLE(ha)) {
if (scsi_status & SS_RESIDUAL_UNDER &&
resid != fw_resid_len) {
if (!(scsi_status & SS_RESIDUAL_UNDER)) {
lscsi_status = 0;
} else if (resid != fw_resid_len) {
scsi_status &= ~SS_RESIDUAL_UNDER;
lscsi_status = 0;
}