pci_disable_msix(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… pci_disable_msix β€” kernel API manual, but make it make sense

okay bestie, buckle up, this one's from the Kernel API Manual and it's literally all about turning MSI-X off πŸ›‘


🌸 NAME 🌸

pci_disable_msix β€” disable MSI-X interrupt mode on a device, that's the whole vibe


✨ SYNOPSIS ✨

void pci_disable_msix (struct pci_dev *dev );

like, that's it. that's the call. no return value, no drama 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the PCI device you wanna operate on πŸ’– this is your main character right here

πŸ¦‹ DESCRIPTION πŸ¦‹

so this is the legacy device driver API, and its whole job is a little three-part slay:

  1. disable MSI-X interrupt mode on the device
  2. free the interrupt vectors that got allocated earlier
  3. restore INTx

and the way it does that? the PCI device's Linux IRQ (dev->irq) gets restored back to its default pin assertion IRQ 🌈 no cap, that's the detail.

also highkey important: this is the cleanup pair of pci_enable_msix_range β€” they're literally a matching set, yin and yang, enable and disable, periodt πŸ’…


⭐ NOTE ⭐

okay so real talk: in general you should be using the newer pci_alloc_irq_vectors / pci_free_irq_vectors API pair instead of this one πŸ™ˆ like this one still works, it's just not the moment anymore.

πŸ”₯ SEE ALSO πŸ”₯

kernel file ./drivers/pci/msi/api.c β€” go read it, iykyk πŸ‘‘

all the besties in the friend group, fr fr πŸ’œ


and that's the page! this little icon lives over in ./drivers/pci/msi, the version stamp says October 2026, and the header/footer both rep pci_disable_msix(9) β€” ok bye, go free those vectors πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from