[SCSI] hpsa: factor out hpsa_free_irqs_and_disable_msix
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
e16a33adc0
commit
0097f0f45a
|
@ -4487,15 +4487,23 @@ static void free_irqs(struct ctlr_info *h)
|
||||||
free_irq(h->intr[i], &h->q[i]);
|
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);
|
free_irqs(h);
|
||||||
#ifdef CONFIG_PCI_MSI
|
#ifdef CONFIG_PCI_MSI
|
||||||
if (h->msix_vector)
|
if (h->msix_vector) {
|
||||||
pci_disable_msix(h->pdev);
|
if (h->pdev->msix_enabled)
|
||||||
else if (h->msi_vector)
|
pci_disable_msix(h->pdev);
|
||||||
pci_disable_msi(h->pdev);
|
} else if (h->msi_vector) {
|
||||||
|
if (h->pdev->msi_enabled)
|
||||||
|
pci_disable_msi(h->pdev);
|
||||||
|
}
|
||||||
#endif /* CONFIG_PCI_MSI */
|
#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_sg_chain_blocks(h);
|
||||||
hpsa_free_cmd_pool(h);
|
hpsa_free_cmd_pool(h);
|
||||||
kfree(h->blockFetchTable);
|
kfree(h->blockFetchTable);
|
||||||
|
@ -4850,13 +4858,7 @@ static void hpsa_shutdown(struct pci_dev *pdev)
|
||||||
*/
|
*/
|
||||||
hpsa_flush_cache(h);
|
hpsa_flush_cache(h);
|
||||||
h->access.set_intr_mask(h, HPSA_INTR_OFF);
|
h->access.set_intr_mask(h, HPSA_INTR_OFF);
|
||||||
free_irqs(h);
|
hpsa_free_irqs_and_disable_msix(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 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __devexit hpsa_free_device_info(struct ctlr_info *h)
|
static void __devexit hpsa_free_device_info(struct ctlr_info *h)
|
||||||
|
|
Loading…
Reference in a new issue