pci_free_irq_vectors(9)
π pci_free_irq_vectors(9) π
okay so bestie, welcome to the Kernel API Manual β yes we're in kernel land today, grab a lil snack π
β¨ NAME β¨
pci_free_irq_vectors β the function that frees the IRQs you previously allocated for a device π«Ά
πΈ SYNOPSIS πΈ
void pci_free_irq_vectors(struct pci_dev *dev);
π ARGUMENTS π
devβ the PCI device you wanna operate on, that's literally it π
π¦ DESCRIPTION π¦
Not me explaining this one, it's the undo button basically π
This function undoes the interrupt vector allocations β and any possible device MSI/MSI-X enablement β that you did earlier through pci_alloc_irq_vectors_affinity or pci_alloc_irq_vectors.
β οΈ WARNING, and this is a big one, no cap: do not call this function if the device has been enabled withpcim_enable_device. In that case, IRQ vectors are automatically managed viapcim_msi_release, and callingpci_free_irq_vectorscan lead to double-free issues π like please don't do that to yourself, that's giving undefined chaos energy fr fr
π₯ SEE ALSO π₯
Kernel file ./drivers/pci/msi/api.c β and also these iconic siblings of the family π
pci_enable_msi(9)pci_disable_msi(9)pci_msix_vec_count(9)pci_enable_msix_range(9)pci_msix_can_alloc_dyn(9)pci_msix_alloc_irq_at(9)pci_msix_free_irq(9)pci_disable_msix(9)pci_alloc_irq_vectors(9)pci_alloc_irq_vectors_affinity(9)pci_irq_vector(9)pci_irq_get_affinity(9)pci_restore_msi_state(9)pci_msi_enabled(9)
and that's the whole vibe, bestie π§π this little page lives in ./drivers/pci/msi, dated October 2026, and it's the Kernel API Manual edition of pci_free_irq_vectors(9). slay, go free your vectors responsibly β¨ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms