|
@@ -2483,7 +2483,6 @@ slot_complete_v2_hw(struct hisi_hba *hisi_hba, struct hisi_sas_slot *slot)
|
|
|
}
|
|
|
|
|
|
out:
|
|
|
- hisi_sas_slot_task_free(hisi_hba, task, slot);
|
|
|
sts = ts->stat;
|
|
|
spin_lock_irqsave(&task->task_state_lock, flags);
|
|
|
if (task->task_state_flags & SAS_TASK_STATE_ABORTED) {
|
|
@@ -2493,6 +2492,7 @@ out:
|
|
|
}
|
|
|
task->task_state_flags |= SAS_TASK_STATE_DONE;
|
|
|
spin_unlock_irqrestore(&task->task_state_lock, flags);
|
|
|
+ hisi_sas_slot_task_free(hisi_hba, task, slot);
|
|
|
|
|
|
if (!is_internal && (task->task_proto != SAS_PROTOCOL_SMP)) {
|
|
|
spin_lock_irqsave(&device->done_lock, flags);
|