scsi: arcmsr: Fix error of resuming from hibernation for adapter type E
authorChing Huang <ching2048@areca.com.tw>
Mon, 9 Jul 2018 10:24:53 +0000 (18:24 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 13 Jul 2018 02:34:34 +0000 (22:34 -0400)
Fix error of resuming from hibernation for adapter type E.

Signed-off-by: Ching Huang <ching2048@areca.com.tw>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/arcmsr/arcmsr_hba.c

index 732b5d9242f16551b525b43023b4dcae8a94cc65..12316ef4c89318536f88e6b84f7f92d7d887d8f2 100644 (file)
@@ -1061,6 +1061,13 @@ static int arcmsr_resume(struct pci_dev *pdev)
        pci_set_master(pdev);
        if (arcmsr_request_irq(pdev, acb) == FAILED)
                goto controller_stop;
+       if (acb->adapter_type == ACB_ADAPTER_TYPE_E) {
+               writel(0, &acb->pmuE->host_int_status);
+               writel(ARCMSR_HBEMU_DOORBELL_SYNC, &acb->pmuE->iobound_doorbell);
+               acb->in_doorbell = 0;
+               acb->out_doorbell = 0;
+               acb->doneq_index = 0;
+       }
        arcmsr_iop_init(acb);
        arcmsr_init_get_devmap_timer(acb);
        if (set_date_time)