Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0097f0f4 authored by Stephen M. Cameron's avatar Stephen M. Cameron Committed by James Bottomley
Browse files

[SCSI] hpsa: factor out hpsa_free_irqs_and_disable_msix

parent e16a33ad
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -4487,15 +4487,23 @@ static void free_irqs(struct ctlr_info *h)
		free_irq(h->intr[i], &h->q[i]);
}

static void hpsa_undo_allocations_after_kdump_soft_reset(struct ctlr_info *h)
static void hpsa_free_irqs_and_disable_msix(struct ctlr_info *h)
{
	free_irqs(h);
#ifdef CONFIG_PCI_MSI
	if (h->msix_vector)
	if (h->msix_vector) {
		if (h->pdev->msix_enabled)
			pci_disable_msix(h->pdev);
	else if (h->msi_vector)
	} else if (h->msi_vector) {
		if (h->pdev->msi_enabled)
			pci_disable_msi(h->pdev);
	}
#endif /* CONFIG_PCI_MSI */
}

static void hpsa_undo_allocations_after_kdump_soft_reset(struct ctlr_info *h)
{
	hpsa_free_irqs_and_disable_msix(h);
	hpsa_free_sg_chain_blocks(h);
	hpsa_free_cmd_pool(h);
	kfree(h->blockFetchTable);
@@ -4850,13 +4858,7 @@ static void hpsa_shutdown(struct pci_dev *pdev)
	 */
	hpsa_flush_cache(h);
	h->access.set_intr_mask(h, HPSA_INTR_OFF);
	free_irqs(h);
#ifdef CONFIG_PCI_MSI
	if (h->msix_vector)
		pci_disable_msix(h->pdev);
	else if (h->msi_vector)
		pci_disable_msi(h->pdev);
#endif				/* CONFIG_PCI_MSI */
	hpsa_free_irqs_and_disable_msix(h);
}

static void __devexit hpsa_free_device_info(struct ctlr_info *h)