For devres managed devices, pci_alloc_irq_vectors is also managed (see
pci_setup_msi_context for reference).
PCI device used by Xe is devres managed (it was enabled with
pcim_enable_device), which means that calls to pci_free_irq_vectors are
redundant and can be safely removed.
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20231129214509.1174116-4-michal.winiarski@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
irq = pci_irq_vector(pdev, 0);
free_irq(irq, xe);
- pci_free_irq_vectors(pdev);
}
int xe_irq_install(struct xe_device *xe)
err = request_irq(irq, irq_handler, IRQF_SHARED, DRIVER_NAME, xe);
if (err < 0) {
drm_err(&xe->drm, "Failed to request MSI/MSIX IRQ %d\n", err);
- goto free_pci_irq_vectors;
+ return err;
}
xe->irq.enabled = true;
free_irq_handler:
free_irq(irq, xe);
-free_pci_irq_vectors:
- pci_free_irq_vectors(pdev);
return err;
}