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.de...@broadcom.com>
Signed-off-by: Shivasharan S <shivasharan.srikanteshw...@broadcom.com>
Reviewed-by: Hannes Reinecke <h...@suse.com>
---
 drivers/scsi/megaraid/megaraid_sas_fusion.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c 
b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index f717fbc..5018a3f 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -3826,8 +3826,6 @@ static int megasas_track_scsiio(struct megasas_instance 
*instance,
                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;
@@ -3839,9 +3837,7 @@ static int megasas_track_scsiio(struct megasas_instance 
*instance,
                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);
 
-- 
1.8.3.1

Reply via email to