I'd submitted a patch earlier for this file, fixing a warning. When I looked at it further, I noticed it can output an incorrect warning message under certain circumstances. I've confirmed that this can and does happen in the wild: PCI: Enabling device 0000:00:0a.0 (0000 -> 0001) PCI: No IRQ known for interrupt pin @ of device 0000:00:0a.0. Probably buggy MP table. It should read "No IRQ known for interrupt pin A", but the 'pin' variable has already been decremented (from 1 to 0), so the line: printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n", 'A' + pin - 1, dev->slot_name, msg); causes "pin @" to be output, because 'A' + 0 - 1 == '@'. This patch also fixes the original warning: pci-irq.c: In function `pcibios_enable_irq': pci-irq.c:1128: warning: 'msg' might be used uninitialized in this function Thanks, Mark Haigh Mark.Haigh@spirentcom.com