Merge patch series "lpfc: Update lpfc to revision 14.2.0.15"
[linux-2.6-block.git] / drivers / scsi / hisi_sas / hisi_sas_main.c
index bd5f39de83d1d2f8e0b738bd75eee672230b70c4..d50058b41409887f7c413ddb9f793b9fa27c764e 100644 (file)
@@ -787,7 +787,7 @@ static int hisi_sas_init_device(struct domain_device *device)
                 * However we don't need to issue a hard reset here for these
                 * reasons:
                 * a. When probing the device, libsas/libata already issues a
-                * hard reset in sas_probe_sata() -> ata_sas_async_probe().
+                * hard reset in sas_probe_sata() -> ata_port_probe().
                 * Note that in hisi_sas_debug_I_T_nexus_reset() we take care
                 * to issue a hard reset by checking the dev status (== INIT).
                 * b. When resetting the controller, this is simply unnecessary.
@@ -1958,8 +1958,11 @@ static bool hisi_sas_internal_abort_timeout(struct sas_task *task,
        struct hisi_hba *hisi_hba = dev_to_hisi_hba(device);
        struct hisi_sas_internal_abort_data *timeout = data;
 
-       if (hisi_sas_debugfs_enable && hisi_hba->debugfs_itct[0].itct)
-               queue_work(hisi_hba->wq, &hisi_hba->debugfs_work);
+       if (hisi_sas_debugfs_enable && hisi_hba->debugfs_itct[0].itct) {
+               down(&hisi_hba->sem);
+               hisi_hba->hw->debugfs_snapshot_regs(hisi_hba);
+               up(&hisi_hba->sem);
+       }
 
        if (task->task_state_flags & SAS_TASK_STATE_DONE) {
                pr_err("Internal abort: timeout %016llx\n",