return ret;
 }
 
-static u32 pm8001_setup_irq(struct pm8001_hba_info *pm8001_ha);
 static u32 pm8001_request_irq(struct pm8001_hba_info *pm8001_ha);
 
 /**
        pm8001_dbg(pm8001_ha, INIT, "pm8001_alloc: PHY:%x\n",
                   pm8001_ha->chip->n_phy);
 
-       /* Setup Interrupt */
-       rc = pm8001_setup_irq(pm8001_ha);
-       if (rc) {
-               pm8001_dbg(pm8001_ha, FAIL,
-                          "pm8001_setup_irq failed [ret: %d]\n", rc);
-               goto err_out;
-       }
        /* Request Interrupt */
        rc = pm8001_request_irq(pm8001_ha);
        if (rc)
 }
 #endif
 
-static u32 pm8001_setup_irq(struct pm8001_hba_info *pm8001_ha)
-{
-       struct pci_dev *pdev;
-
-       pdev = pm8001_ha->pdev;
-
-#ifdef PM8001_USE_MSIX
-       if (pci_find_capability(pdev, PCI_CAP_ID_MSIX))
-               return pm8001_setup_msix(pm8001_ha);
-       pm8001_dbg(pm8001_ha, INIT, "MSIX not supported!!!\n");
-#endif
-       return 0;
-}
-
 /**
  * pm8001_request_irq - register interrupt
  * @pm8001_ha: our ha struct.
  */
 static u32 pm8001_request_irq(struct pm8001_hba_info *pm8001_ha)
 {
-       struct pci_dev *pdev;
+       struct pci_dev *pdev = pm8001_ha->pdev;
+#ifdef PM8001_USE_MSIX
        int rc;
 
-       pdev = pm8001_ha->pdev;
+       if (pci_find_capability(pdev, PCI_CAP_ID_MSIX)) {
+               rc = pm8001_setup_msix(pm8001_ha);
+               if (rc) {
+                       pm8001_dbg(pm8001_ha, FAIL,
+                                  "pm8001_setup_irq failed [ret: %d]\n", rc);
+                       return rc;
+               }
 
-#ifdef PM8001_USE_MSIX
-       if (pdev->msix_cap && pci_msi_enabled())
-               return pm8001_request_msix(pm8001_ha);
-       else {
-               pm8001_dbg(pm8001_ha, INIT, "MSIX not supported!!!\n");
-               goto intx;
+               if (pdev->msix_cap && pci_msi_enabled())
+                       return pm8001_request_msix(pm8001_ha);
        }
+
+       pm8001_dbg(pm8001_ha, INIT, "MSIX not supported!!!\n");
 #endif
 
-intx:
        /* initialize the INT-X interrupt */
        pm8001_ha->irq_vector[0].irq_id = 0;
        pm8001_ha->irq_vector[0].drv_inst = pm8001_ha;
-       rc = request_irq(pdev->irq, pm8001_interrupt_handler_intx, IRQF_SHARED,
-               pm8001_ha->name, SHOST_TO_SAS_HA(pm8001_ha->shost));
-       return rc;
+
+       return request_irq(pdev->irq, pm8001_interrupt_handler_intx,
+                          IRQF_SHARED, pm8001_ha->name,
+                          SHOST_TO_SAS_HA(pm8001_ha->shost));
 }
 
 /**