lpfc_sli4_bar0_register_memmap(phba, if_type);
        }
 
-       if ((if_type == LPFC_SLI_INTF_IF_TYPE_0) &&
-           (pci_resource_start(pdev, PCI_64BIT_BAR2))) {
-               /*
-                * Map SLI4 if type 0 HBA Control Register base to a kernel
-                * virtual address and setup the registers.
-                */
-               phba->pci_bar1_map = pci_resource_start(pdev, PCI_64BIT_BAR2);
-               bar1map_len = pci_resource_len(pdev, PCI_64BIT_BAR2);
-               phba->sli4_hba.ctrl_regs_memmap_p =
-                               ioremap(phba->pci_bar1_map, bar1map_len);
-               if (!phba->sli4_hba.ctrl_regs_memmap_p) {
-                       dev_printk(KERN_ERR, &pdev->dev,
-                          "ioremap failed for SLI4 HBA control registers.\n");
+       if (if_type == LPFC_SLI_INTF_IF_TYPE_0) {
+               if (pci_resource_start(pdev, PCI_64BIT_BAR2)) {
+                       /*
+                        * Map SLI4 if type 0 HBA Control Register base to a
+                        * kernel virtual address and setup the registers.
+                        */
+                       phba->pci_bar1_map = pci_resource_start(pdev,
+                                                               PCI_64BIT_BAR2);
+                       bar1map_len = pci_resource_len(pdev, PCI_64BIT_BAR2);
+                       phba->sli4_hba.ctrl_regs_memmap_p =
+                                       ioremap(phba->pci_bar1_map,
+                                               bar1map_len);
+                       if (!phba->sli4_hba.ctrl_regs_memmap_p) {
+                               dev_err(&pdev->dev,
+                                          "ioremap failed for SLI4 HBA "
+                                           "control registers.\n");
+                               error = -ENOMEM;
+                               goto out_iounmap_conf;
+                       }
+                       phba->pci_bar2_memmap_p =
+                                        phba->sli4_hba.ctrl_regs_memmap_p;
+                       lpfc_sli4_bar1_register_memmap(phba);
+               } else {
+                       error = -ENOMEM;
                        goto out_iounmap_conf;
                }
-               phba->pci_bar2_memmap_p = phba->sli4_hba.ctrl_regs_memmap_p;
-               lpfc_sli4_bar1_register_memmap(phba);
        }
 
-       if ((if_type == LPFC_SLI_INTF_IF_TYPE_0) &&
-           (pci_resource_start(pdev, PCI_64BIT_BAR4))) {
-               /*
-                * Map SLI4 if type 0 HBA Doorbell Register base to a kernel
-                * virtual address and setup the registers.
-                */
-               phba->pci_bar2_map = pci_resource_start(pdev, PCI_64BIT_BAR4);
-               bar2map_len = pci_resource_len(pdev, PCI_64BIT_BAR4);
-               phba->sli4_hba.drbl_regs_memmap_p =
-                               ioremap(phba->pci_bar2_map, bar2map_len);
-               if (!phba->sli4_hba.drbl_regs_memmap_p) {
-                       dev_printk(KERN_ERR, &pdev->dev,
-                          "ioremap failed for SLI4 HBA doorbell registers.\n");
-                       goto out_iounmap_ctrl;
-               }
-               phba->pci_bar4_memmap_p = phba->sli4_hba.drbl_regs_memmap_p;
-               error = lpfc_sli4_bar2_register_memmap(phba, LPFC_VF0);
-               if (error)
+       if (if_type == LPFC_SLI_INTF_IF_TYPE_0) {
+               if (pci_resource_start(pdev, PCI_64BIT_BAR4)) {
+                       /*
+                        * Map SLI4 if type 0 HBA Doorbell Register base to
+                        * a kernel virtual address and setup the registers.
+                        */
+                       phba->pci_bar2_map = pci_resource_start(pdev,
+                                                               PCI_64BIT_BAR4);
+                       bar2map_len = pci_resource_len(pdev, PCI_64BIT_BAR4);
+                       phba->sli4_hba.drbl_regs_memmap_p =
+                                       ioremap(phba->pci_bar2_map,
+                                               bar2map_len);
+                       if (!phba->sli4_hba.drbl_regs_memmap_p) {
+                               dev_err(&pdev->dev,
+                                          "ioremap failed for SLI4 HBA"
+                                          " doorbell registers.\n");
+                               error = -ENOMEM;
+                               goto out_iounmap_ctrl;
+                       }
+                       phba->pci_bar4_memmap_p =
+                                       phba->sli4_hba.drbl_regs_memmap_p;
+                       error = lpfc_sli4_bar2_register_memmap(phba, LPFC_VF0);
+                       if (error)
+                               goto out_iounmap_all;
+               } else {
+                       error = -ENOMEM;
                        goto out_iounmap_all;
+               }
        }
 
        return 0;