aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/hpsa.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 836c6c013ee8..a1cec91240ab 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -1556,9 +1556,13 @@ static int handle_ioaccel_mode2_error(struct ctlr_info *h,
1556 dev_warn(&h->pdev->dev, 1556 dev_warn(&h->pdev->dev,
1557 "%s: task complete with check condition.\n", 1557 "%s: task complete with check condition.\n",
1558 "HP SSD Smart Path"); 1558 "HP SSD Smart Path");
1559 cmd->result |= SAM_STAT_CHECK_CONDITION;
1559 if (c2->error_data.data_present != 1560 if (c2->error_data.data_present !=
1560 IOACCEL2_SENSE_DATA_PRESENT) 1561 IOACCEL2_SENSE_DATA_PRESENT) {
1562 memset(cmd->sense_buffer, 0,
1563 SCSI_SENSE_BUFFERSIZE);
1561 break; 1564 break;
1565 }
1562 /* copy the sense data */ 1566 /* copy the sense data */
1563 data_len = c2->error_data.sense_data_len; 1567 data_len = c2->error_data.sense_data_len;
1564 if (data_len > SCSI_SENSE_BUFFERSIZE) 1568 if (data_len > SCSI_SENSE_BUFFERSIZE)
@@ -1568,7 +1572,6 @@ static int handle_ioaccel_mode2_error(struct ctlr_info *h,
1568 sizeof(c2->error_data.sense_data_buff); 1572 sizeof(c2->error_data.sense_data_buff);
1569 memcpy(cmd->sense_buffer, 1573 memcpy(cmd->sense_buffer,
1570 c2->error_data.sense_data_buff, data_len); 1574 c2->error_data.sense_data_buff, data_len);
1571 cmd->result |= SAM_STAT_CHECK_CONDITION;
1572 retry = 1; 1575 retry = 1;
1573 break; 1576 break;
1574 case IOACCEL2_STATUS_SR_TASK_COMP_BUSY: 1577 case IOACCEL2_STATUS_SR_TASK_COMP_BUSY: