hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/scsi/pm8001/pm80xx_hwi.c
....@@ -1916,7 +1916,7 @@
19161916 param);
19171917 if (param == 0) {
19181918 ts->resp = SAS_TASK_COMPLETE;
1919
- ts->stat = SAM_STAT_GOOD;
1919
+ ts->stat = SAS_SAM_STAT_GOOD;
19201920 } else {
19211921 ts->resp = SAS_TASK_COMPLETE;
19221922 ts->stat = SAS_PROTO_RESPONSE;
....@@ -2450,7 +2450,7 @@
24502450 pm8001_dbg(pm8001_ha, IO, "IO_SUCCESS\n");
24512451 if (param == 0) {
24522452 ts->resp = SAS_TASK_COMPLETE;
2453
- ts->stat = SAM_STAT_GOOD;
2453
+ ts->stat = SAS_SAM_STAT_GOOD;
24542454 /* check if response is for SEND READ LOG */
24552455 if (pm8001_dev &&
24562456 (pm8001_dev->id & NCQ_READ_LOG_FLAG)) {
....@@ -3004,7 +3004,7 @@
30043004 case IO_SUCCESS:
30053005 pm8001_dbg(pm8001_ha, IO, "IO_SUCCESS\n");
30063006 ts->resp = SAS_TASK_COMPLETE;
3007
- ts->stat = SAM_STAT_GOOD;
3007
+ ts->stat = SAS_SAM_STAT_GOOD;
30083008 if (pm8001_dev)
30093009 atomic_dec(&pm8001_dev->running_req);
30103010 if (pm8001_ha->smp_exp_mode == SMP_DIRECT) {
....@@ -3046,17 +3046,17 @@
30463046 case IO_ERROR_HW_TIMEOUT:
30473047 pm8001_dbg(pm8001_ha, IO, "IO_ERROR_HW_TIMEOUT\n");
30483048 ts->resp = SAS_TASK_COMPLETE;
3049
- ts->stat = SAM_STAT_BUSY;
3049
+ ts->stat = SAS_SAM_STAT_BUSY;
30503050 break;
30513051 case IO_XFER_ERROR_BREAK:
30523052 pm8001_dbg(pm8001_ha, IO, "IO_XFER_ERROR_BREAK\n");
30533053 ts->resp = SAS_TASK_COMPLETE;
3054
- ts->stat = SAM_STAT_BUSY;
3054
+ ts->stat = SAS_SAM_STAT_BUSY;
30553055 break;
30563056 case IO_XFER_ERROR_PHY_NOT_READY:
30573057 pm8001_dbg(pm8001_ha, IO, "IO_XFER_ERROR_PHY_NOT_READY\n");
30583058 ts->resp = SAS_TASK_COMPLETE;
3059
- ts->stat = SAM_STAT_BUSY;
3059
+ ts->stat = SAS_SAM_STAT_BUSY;
30603060 break;
30613061 case IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED:
30623062 pm8001_dbg(pm8001_ha, IO,
....@@ -3722,10 +3722,12 @@
37223722 (struct set_ctrl_cfg_resp *)(piomb + 4);
37233723 u32 status = le32_to_cpu(pPayload->status);
37243724 u32 err_qlfr_pgcd = le32_to_cpu(pPayload->err_qlfr_pgcd);
3725
+ u32 tag = le32_to_cpu(pPayload->tag);
37253726
37263727 pm8001_dbg(pm8001_ha, MSG,
37273728 "SET CONTROLLER RESP: status 0x%x qlfr_pgcd 0x%x\n",
37283729 status, err_qlfr_pgcd);
3730
+ pm8001_tag_free(pm8001_ha, tag);
37293731
37303732 return 0;
37313733 }
....@@ -4679,7 +4681,7 @@
46794681
46804682 spin_lock_irqsave(&task->task_state_lock, flags);
46814683 ts->resp = SAS_TASK_COMPLETE;
4682
- ts->stat = SAM_STAT_GOOD;
4684
+ ts->stat = SAS_SAM_STAT_GOOD;
46834685 task->task_state_flags &= ~SAS_TASK_STATE_PENDING;
46844686 task->task_state_flags &= ~SAS_TASK_AT_INITIATOR;
46854687 task->task_state_flags |= SAS_TASK_STATE_DONE;
....@@ -4741,7 +4743,7 @@
47414743 payload.sas_identify.dev_type = SAS_END_DEVICE;
47424744 payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL;
47434745 memcpy(payload.sas_identify.sas_addr,
4744
- &pm8001_ha->sas_addr, SAS_ADDR_SIZE);
4746
+ &pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE);
47454747 payload.sas_identify.phy_id = phy_id;
47464748 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opcode, &payload,
47474749 sizeof(payload), 0);