scsi: arcmsr: Fix suspend/resume of ACB_ADAPTER_TYPE_B

From Ching Huang <ching2048@areca.com.tw>

Fix suspend/resume of ACB_ADAPTER_TYPE_B

Signed-off-by: Ching Huang <ching2048@areca.com.tw>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Ching Huang 2018-12-19 16:59:48 +08:00 committed by Martin K. Petersen
parent 1d120c6183
commit afdda87852
1 changed files with 10 additions and 1 deletions

View File

@ -1110,12 +1110,21 @@ 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) {
switch (acb->adapter_type) {
case ACB_ADAPTER_TYPE_B: {
struct MessageUnit_B *reg = acb->pmuB;
reg->post_qbuffer[0] = 0;
reg->postq_index = 0;
reg->doneq_index = 0;
break;
}
case 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;
break;
}
arcmsr_iop_init(acb);
arcmsr_init_get_devmap_timer(acb);