Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-microblaze.git] / drivers / scsi / lpfc / lpfc_init.c
index 3b5873f..7fcdaed 100644 (file)
@@ -4090,7 +4090,7 @@ lpfc_new_io_buf(struct lpfc_hba *phba, int num_to_alloc)
        /* Sanity check to ensure our sizing is right for both SCSI and NVME */
        if (sizeof(struct lpfc_io_buf) > LPFC_COMMON_IO_BUF_SZ) {
                lpfc_printf_log(phba, KERN_ERR, LOG_FCP,
-                               "6426 Common buffer size %ld exceeds %d\n",
+                               "6426 Common buffer size %zd exceeds %d\n",
                                sizeof(struct lpfc_io_buf),
                                LPFC_COMMON_IO_BUF_SZ);
                return 0;
@@ -10052,7 +10052,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
 {
        struct pci_dev *pdev = phba->pcidev;
        unsigned long bar0map_len, bar1map_len, bar2map_len;
-       int error = -ENODEV;
+       int error;
        uint32_t if_type;
 
        if (!pdev)
@@ -10071,7 +10071,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
         */
        if (pci_read_config_dword(pdev, LPFC_SLI_INTF,
                                  &phba->sli4_hba.sli_intf.word0)) {
-               return error;
+               return -ENODEV;
        }
 
        /* There is no SLI3 failback for SLI4 devices. */
@@ -10081,7 +10081,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
                                "2894 SLI_INTF reg contents invalid "
                                "sli_intf reg 0x%x\n",
                                phba->sli4_hba.sli_intf.word0);
-               return error;
+               return -ENODEV;
        }
 
        if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
@@ -10105,7 +10105,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
                        dev_printk(KERN_ERR, &pdev->dev,
                                   "ioremap failed for SLI4 PCI config "
                                   "registers.\n");
-                       goto out;
+                       return -ENODEV;
                }
                phba->pci_bar0_memmap_p = phba->sli4_hba.conf_regs_memmap_p;
                /* Set up BAR0 PCI config space register memory map */
@@ -10116,7 +10116,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
                if (if_type >= LPFC_SLI_INTF_IF_TYPE_2) {
                        dev_printk(KERN_ERR, &pdev->dev,
                           "FATAL - No BAR0 mapping for SLI4, if_type 2\n");
-                       goto out;
+                       return -ENODEV;
                }
                phba->sli4_hba.conf_regs_memmap_p =
                                ioremap(phba->pci_bar0_map, bar0map_len);
@@ -10124,7 +10124,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
                        dev_printk(KERN_ERR, &pdev->dev,
                                "ioremap failed for SLI4 PCI config "
                                "registers.\n");
-                       goto out;
+                       return -ENODEV;
                }
                lpfc_sli4_bar0_register_memmap(phba, if_type);
        }
@@ -10170,6 +10170,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
                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_conf;
                }
                phba->pci_bar2_memmap_p = phba->sli4_hba.drbl_regs_memmap_p;
@@ -10219,6 +10220,7 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
                if (!phba->sli4_hba.dpp_regs_memmap_p) {
                        dev_err(&pdev->dev,
                           "ioremap failed for SLI4 HBA dpp registers.\n");
+                       error = -ENOMEM;
                        goto out_iounmap_ctrl;
                }
                phba->pci_bar4_memmap_p = phba->sli4_hba.dpp_regs_memmap_p;
@@ -10249,7 +10251,7 @@ out_iounmap_ctrl:
        iounmap(phba->sli4_hba.ctrl_regs_memmap_p);
 out_iounmap_conf:
        iounmap(phba->sli4_hba.conf_regs_memmap_p);
-out:
+
        return error;
 }
 
@@ -11137,7 +11139,8 @@ lpfc_sli4_hba_unset(struct lpfc_hba *phba)
                lpfc_sli4_ras_dma_free(phba);
 
        /* Stop the SLI4 device port */
-       phba->pport->work_port_events = 0;
+       if (phba->pport)
+               phba->pport->work_port_events = 0;
 }
 
  /**