scsi: megaraid_sas: Use synchronize_irq in target reset case
authorShivasharan S <shivasharan.srikanteshwara@broadcom.com>
Wed, 23 Aug 2017 11:46:57 +0000 (04:46 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 25 Aug 2017 02:29:11 +0000 (22:29 -0400)
Similar to task abort case, use synchronize_irq API in target reset
case.  Also, remove redundant call to megasas_complete_cmd_dpc_fusion
after calling megasas_sync_irqs in task abort case.

Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/megaraid/megaraid_sas_fusion.c

index 84cd4f8..28c3264 100644 (file)
@@ -3832,8 +3832,6 @@ megasas_issue_tm(struct megasas_instance *instance, u16 device_handle,
                else {
                        instance->instancet->disable_intr(instance);
                        megasas_sync_irqs((unsigned long)instance);
-                       megasas_complete_cmd_dpc_fusion
-                                       ((unsigned long)instance);
                        instance->instancet->enable_intr(instance);
                        if (scsi_lookup->scmd == NULL)
                                break;
@@ -3845,9 +3843,7 @@ megasas_issue_tm(struct megasas_instance *instance, u16 device_handle,
                if ((channel == 0xFFFFFFFF) && (id == 0xFFFFFFFF))
                        break;
                instance->instancet->disable_intr(instance);
-               msleep(1000);
-               megasas_complete_cmd_dpc_fusion
-                               ((unsigned long)instance);
+               megasas_sync_irqs((unsigned long)instance);
                rc = megasas_track_scsiio(instance, id, channel);
                instance->instancet->enable_intr(instance);