Page MenuHomeFreeBSD

pci: Only re-route IRQs based on firmware on x86
ClosedPublic

Authored by cperciva on Fri, Mar 28, 6:12 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 30, 12:45 PM
Unknown Object (File)
Sun, Mar 30, 12:23 PM
Unknown Object (File)
Sun, Mar 30, 2:30 AM
Unknown Object (File)
Sat, Mar 29, 11:02 PM
Unknown Object (File)
Sat, Mar 29, 8:56 PM
Unknown Object (File)
Fri, Mar 28, 6:17 PM

Details

Summary

There is a (very historical) call to pci_assign_interrupt for the
purpose of routing IRQs which may have been set up wrong by x86 BIOS
or firmware. On non-x86 systems, this is unnecessary; and on INTRNG
systems it results in a (synthetic) IRQ leak and ultimately a kernel
panic after many hotplug/unplug cycles.

Suggested by: jhb
MFC after: 2 weeks
Sponsored by: Amazon

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

cperciva created this revision.
This revision is now accepted and ready to land.Fri, Mar 28, 6:43 PM

Could it bring a new flow of messages into the kernel message buffer? After today's upgrade of my desktop PC, I see plenty of "Can't enable IRQ/MSI because no handler is installed," which didn't appear in the past.

It was triggered by D49543 (likely) and seems to be harmless so far.