-
Andrew Morton authored
Signed-off-by: Paul Mackerras <paulus@samba.org> Early in the boot process on pSeries machines, we look in the Open Firmware device tree for information about the interrupt assignments, and assign virtual IRQ numbers for each physical IRQ. There is currently a couple of bugs in this code which result in us assigning virtual IRQs for nonexistent physical IRQs. This causes problems when we call the firmware to enable or disable those nonexistent physical IRQs. Some versions at least of the firmware will hit an assertion failure and crash the machine when this happens. This patch fixes the bugs and ensures that we don't try and use nonexistent physical IRQ numbers. One bug was that we were mapping ISA interrupts, which is unnecessary since virtual IRQ numbers 0 - 15 are reserved for them. The other was that when we had a PCI interrupt (which is always in the range 1 to 4, corresponding to INTA to INTD) which didn't have a mapping in the PCI host bridge above it, we were just using the original number (usually 1) rather than ignoring it.
a5d436c4