aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index c4768c4f3990..1104bd2eed40 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -1012,8 +1012,14 @@ qla2x00_status_entry(scsi_qla_host_t *ha, void *pkt)
1012 case CS_DATA_UNDERRUN: 1012 case CS_DATA_UNDERRUN:
1013 resid = resid_len; 1013 resid = resid_len;
1014 /* Use F/W calculated residual length. */ 1014 /* Use F/W calculated residual length. */
1015 if (IS_FWI2_CAPABLE(ha)) 1015 if (IS_FWI2_CAPABLE(ha)) {
1016 if (scsi_status & SS_RESIDUAL_UNDER &&
1017 resid != fw_resid_len) {
1018 scsi_status &= ~SS_RESIDUAL_UNDER;
1019 lscsi_status = 0;
1020 }
1016 resid = fw_resid_len; 1021 resid = fw_resid_len;
1022 }
1017 1023
1018 if (scsi_status & SS_RESIDUAL_UNDER) { 1024 if (scsi_status & SS_RESIDUAL_UNDER) {
1019 scsi_set_resid(cp, resid); 1025 scsi_set_resid(cp, resid);