|
@@ -1556,9 +1556,13 @@ static int handle_ioaccel_mode2_error(struct ctlr_info *h,
|
|
|
dev_warn(&h->pdev->dev,
|
|
|
"%s: task complete with check condition.\n",
|
|
|
"HP SSD Smart Path");
|
|
|
+ cmd->result |= SAM_STAT_CHECK_CONDITION;
|
|
|
if (c2->error_data.data_present !=
|
|
|
- IOACCEL2_SENSE_DATA_PRESENT)
|
|
|
+ IOACCEL2_SENSE_DATA_PRESENT) {
|
|
|
+ memset(cmd->sense_buffer, 0,
|
|
|
+ SCSI_SENSE_BUFFERSIZE);
|
|
|
break;
|
|
|
+ }
|
|
|
/* copy the sense data */
|
|
|
data_len = c2->error_data.sense_data_len;
|
|
|
if (data_len > SCSI_SENSE_BUFFERSIZE)
|
|
@@ -1568,7 +1572,6 @@ static int handle_ioaccel_mode2_error(struct ctlr_info *h,
|
|
|
sizeof(c2->error_data.sense_data_buff);
|
|
|
memcpy(cmd->sense_buffer,
|
|
|
c2->error_data.sense_data_buff, data_len);
|
|
|
- cmd->result |= SAM_STAT_CHECK_CONDITION;
|
|
|
retry = 1;
|
|
|
break;
|
|
|
case IOACCEL2_STATUS_SR_TASK_COMP_BUSY:
|