diff options
| author | Johannes Thumshirn <jthumshirn@suse.de> | 2018-04-09 08:39:22 -0400 |
|---|---|---|
| committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-04-09 21:04:36 -0400 |
| commit | 584d7aad28fd5251a72d3efb3ba76284f3a670fd (patch) | |
| tree | 142b372e4fc5190f6836d0645eec387034af0ba9 /drivers/scsi | |
| parent | f7d5182c8fd9d220fa9ebde2e30ff0ba0ef714b5 (diff) | |
scsi: qla2xxx: Correct setting of SAM_STAT_CHECK_CONDITION
Bart reports that in qla_isr.c's qla2x00_handle_dif_error we're wrongly
shifting the SAM_STAT_CHECK_CONDITION by one instead of directly ORing it
onto the SCSI command's result.
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reported-by: Bart Van Assche <Bart.VanAssche@wdc.com>
Cc: Himanshu Madhani <himanshu.madhani@cavium.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi')
| -rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index a47a582b0397..a3dc83f9444d 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
| @@ -2174,7 +2174,7 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24) | |||
| 2174 | 0x10, 0x1); | 2174 | 0x10, 0x1); |
| 2175 | set_driver_byte(cmd, DRIVER_SENSE); | 2175 | set_driver_byte(cmd, DRIVER_SENSE); |
| 2176 | set_host_byte(cmd, DID_ABORT); | 2176 | set_host_byte(cmd, DID_ABORT); |
| 2177 | cmd->result |= SAM_STAT_CHECK_CONDITION << 1; | 2177 | cmd->result |= SAM_STAT_CHECK_CONDITION; |
| 2178 | return 1; | 2178 | return 1; |
| 2179 | } | 2179 | } |
| 2180 | 2180 | ||
| @@ -2184,7 +2184,7 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24) | |||
| 2184 | 0x10, 0x3); | 2184 | 0x10, 0x3); |
| 2185 | set_driver_byte(cmd, DRIVER_SENSE); | 2185 | set_driver_byte(cmd, DRIVER_SENSE); |
| 2186 | set_host_byte(cmd, DID_ABORT); | 2186 | set_host_byte(cmd, DID_ABORT); |
| 2187 | cmd->result |= SAM_STAT_CHECK_CONDITION << 1; | 2187 | cmd->result |= SAM_STAT_CHECK_CONDITION; |
| 2188 | return 1; | 2188 | return 1; |
| 2189 | } | 2189 | } |
| 2190 | 2190 | ||
| @@ -2194,7 +2194,7 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24) | |||
| 2194 | 0x10, 0x2); | 2194 | 0x10, 0x2); |
| 2195 | set_driver_byte(cmd, DRIVER_SENSE); | 2195 | set_driver_byte(cmd, DRIVER_SENSE); |
| 2196 | set_host_byte(cmd, DID_ABORT); | 2196 | set_host_byte(cmd, DID_ABORT); |
| 2197 | cmd->result |= SAM_STAT_CHECK_CONDITION << 1; | 2197 | cmd->result |= SAM_STAT_CHECK_CONDITION; |
| 2198 | return 1; | 2198 | return 1; |
| 2199 | } | 2199 | } |
| 2200 | 2200 | ||
