OSDN Git Service

scsi: hisi_sas: Move slot variable definition in hisi_sas_abort_task()
authorXingui Yang <yangxingui@huawei.com>
Mon, 17 Oct 2022 09:20:29 +0000 (17:20 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 18 Oct 2022 02:37:45 +0000 (02:37 +0000)
Each branch currently defines a slot variable independently, and it is
neater to move it to the function head.

Signed-off-by: Xingui Yang <yangxingui@huawei.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Link: https://lore.kernel.org/r/1665998435-199946-3-git-send-email-john.garry@huawei.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c

index 699b07a..8303aa5 100644 (file)
@@ -1547,6 +1547,7 @@ static int hisi_sas_abort_task(struct sas_task *task)
        struct hisi_sas_internal_abort_data internal_abort_data = { false };
        struct domain_device *device = task->dev;
        struct hisi_sas_device *sas_dev = device->lldd_dev;
+       struct hisi_sas_slot *slot = task->lldd_task;
        struct hisi_hba *hisi_hba;
        struct device *dev;
        int rc = TMF_RESP_FUNC_FAILED;
@@ -1560,7 +1561,6 @@ static int hisi_sas_abort_task(struct sas_task *task)
 
        spin_lock_irqsave(&task->task_state_lock, flags);
        if (task->task_state_flags & SAS_TASK_STATE_DONE) {
-               struct hisi_sas_slot *slot = task->lldd_task;
                struct hisi_sas_cq *cq;
 
                if (slot) {
@@ -1578,8 +1578,7 @@ static int hisi_sas_abort_task(struct sas_task *task)
        task->task_state_flags |= SAS_TASK_STATE_ABORTED;
        spin_unlock_irqrestore(&task->task_state_lock, flags);
 
-       if (task->lldd_task && task->task_proto & SAS_PROTOCOL_SSP) {
-               struct hisi_sas_slot *slot = task->lldd_task;
+       if (slot && task->task_proto & SAS_PROTOCOL_SSP) {
                u16 tag = slot->idx;
                int rc2;
 
@@ -1613,9 +1612,8 @@ static int hisi_sas_abort_task(struct sas_task *task)
                        hisi_sas_dereg_device(hisi_hba, device);
                        rc = hisi_sas_softreset_ata_disk(device);
                }
-       } else if (task->lldd_task && task->task_proto & SAS_PROTOCOL_SMP) {
+       } else if (slot && task->task_proto & SAS_PROTOCOL_SMP) {
                /* SMP */
-               struct hisi_sas_slot *slot = task->lldd_task;
                u32 tag = slot->idx;
                struct hisi_sas_cq *cq = &hisi_hba->cq[slot->dlvry_queue];