https://bugzilla.novell.com/show_bug.cgi?id=228344 bk@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #7 from bk@novell.com 2007-01-10 09:59 MST ------- pci=nomsi changes the oops from the kfree() at the end of pci_restore_msi_state() to a oops occuring at some random locations, I have seen about 3 locations, so for me, not only the oops in the kfree in pci_restore_msi_state, but also the other random oopses look like to be only possible because of corrupted memory. The first place where something went wrong during boot were these messages, from Comment #1 of Thomas: PCI: Cannot allocate resource region 7 of bridge 0000:00:04.0 .. and so on also for 00.05 and 00.06. They are followed by: PCI: Bridge: 0000:00:04.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:05.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:06.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. and by: PCI: Setting latency timer of device 0000:00:04.0 to 64 pcie_portdrv_probe->Dev[5a36:1002] has invalid IRQ. Check vendor BIOS assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:04.0:pcie00] Allocate Port Service[0000:00:04.0:pcie01] Allocate Port Service[0000:00:04.0:pcie03] PCI: Setting latency timer of device 0000:00:05.0 to 64 pcie_portdrv_probe->Dev[5a37:1002] has invalid IRQ. Check vendor BIOS assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:05.0:pcie00] Allocate Port Service[0000:00:05.0:pcie01] Allocate Port Service[0000:00:05.0:pcie03] PCI: Setting latency timer of device 0000:00:06.0 to 64 pcie_portdrv_probe->Dev[5a38:1002] has invalid IRQ. Check vendor BIOS assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:06.0:pcie00] Allocate Port Service[0000:00:06.0:pcie01] Allocate Port Service[0000:00:06.0:pcie03] PCI: Setting latency timer of device 0000:00:07.0 to 64 pcie_portdrv_probe->Dev[5a39:1002] has invalid IRQ. Check vendor BIOS assign_interrupt_mode Found MSI capability Allocate Port Service[0000:00:07.0:pcie00] Allocate Port Service[0000:00:07.0:pcie01] Allocate Port Service[0000:00:07.0:pcie02] Allocate Port Service[0000:00:07.0:pcie03] The bridges in question are shown in lspci as: 00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10) 00:01.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge 00:04.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge 00:05.0 PCI bridge: ATI Technologies Inc Unknown device 5a37 00:06.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge 00:07.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge And lspci -t shows -[0000:00]-+-00.0 +-01.0-[0000:01]----05.0 +-04.0-[0000:02]-- +-05.0-[0000:03-05]-- +-06.0-[0000:06]-- I have looked at pcie_portdrv_probe(), which spills the most noticeable warning messages: static int __devinit pcie_portdrv_probe (struct pci_dev *dev, const struct pci_device_id *id ) { int status; status = pcie_port_device_probe(dev); if (status) return status; if (pci_enable_device(dev) < 0) return -ENODEV; pci_set_master(dev); if (!dev->irq) { printk(KERN_WARNING "%s->Dev[%04x:%04x] has invalid IRQ. Check vendor BIOS\n", __FUNCTION__, dev->device, dev->vendor); } if (pcie_port_device_register(dev)) { pci_disable_device(dev); return -ENOMEM; } return 0; } I have built 2.6.20-rc4-git2 now to test if it helps to abort in this function when the warning is triggered, but with init=/bin/bash, it but it panics suspend2disk after printing Suspending console(s) without further messages, even with vanilla code, Caps-Lock blinking and does the automatic reboot on panic which I have set up through sysctl. pci=noacpi does not even help, only acpi=off makes suspend2disk succeed. The boot warnings which I quoted also appear on other PCIE machines which Thomas has got, and we want the messages fixed there too. Pavel, if you have ideas, they would be welcome. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.