OSDN Git Service

scsi: lpfc: Fix unmap of dpp bars affecting next driver load
authorJames Smart <jsmart2021@gmail.com>
Wed, 18 Dec 2019 23:58:05 +0000 (15:58 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 21 Dec 2019 18:42:42 +0000 (13:42 -0500)
When unattaching, the driver did not unmap the DPP bar. This caused the
next load of the driver, which attempts to enable wc, to not work correctly
and wc to be disabled due to an address mapping overlap.

Fix by unmapping on unattach.

Link: https://lore.kernel.org/r/20191218235808.31922-8-jsmart2021@gmail.com
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_init.c

index 3defada..4685745 100644 (file)
@@ -10441,6 +10441,8 @@ lpfc_sli4_pci_mem_unset(struct lpfc_hba *phba)
        case LPFC_SLI_INTF_IF_TYPE_6:
                iounmap(phba->sli4_hba.drbl_regs_memmap_p);
                iounmap(phba->sli4_hba.conf_regs_memmap_p);
+               if (phba->sli4_hba.dpp_regs_memmap_p)
+                       iounmap(phba->sli4_hba.dpp_regs_memmap_p);
                break;
        case LPFC_SLI_INTF_IF_TYPE_1:
        default: