e1000e_disable_aspm(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ NAME (aka what is this even)

e1000e_disable_aspm β€” bestie, it disables ASPM states. That's the whole vibe. πŸ’…

And hi, quick intro: you're reading a page from the Kernel API Manual (section 9, the kernel-functions one), so like… strap in, we're in driver-land now. πŸ¦‹


✨ SYNOPSIS ✨

void e1000e_disable_aspm (struct pci_dev *pdev , u16 state );

That's it. That's the whole signature. No return value, it's giving "I just do the thing and leave." πŸ”₯


πŸŽ€ ARGUMENTS πŸŽ€

  • pdev β€” pointer to a struct pci_dev, i.e. "which PCI device are we doing this to, bestie?" 🫢
  • state β€” a bit-mask of the ASPM states you wanna disable. So like, not one state, a whole selection of them, packed into a u16. Iconic bitmask behaviour, iykyk. ⭐

πŸ’– DESCRIPTION πŸ’–

okay so the headline: this function acquires the pci_bus_sem! Yes, the semaphore. It takes it. That's a real thing this function does and you should know about it β€” don't come for me, I'm just the messenger. 😭

And the reason it exists at all? Some devices must have certain ASPM states disabled, per hardware errata. Like, not "would be nice", not "for performance" β€” must, hardware errata, non-negotiable, periodt. 🌸


🌈 SEE ALSO 🌈

The kernel file this lives in, first of all:

  • ./drivers/net/ethernet/intel/e1000e/netdev.c

And now the full friend group β€” every single one of these, no skips, no cap (they're all (9) manpages):


πŸ’€ btw if you ever need the "locked" version, that's e1000e_disable_aspm_locked(9) right there in the list β€” she's got her own page, go say hi.

okay that's the whole page, ily, go disable some ASPM states responsibly πŸ’œ

This cutie came out of ./drivers/net/ethernet/intel/e… (yes the source path gets truncated like that, that's just how the footer rolls 😭), October 2026 edition, and it's filed under e1000e_disable_aspm(9) for all your future reference needs. πŸŽ€βœ¨πŸ«Ά

πŸ“¦ where this page comes from