On Sunday 03 April 2005 16:02, Daniel Drake wrote: > Peter Baumann wrote: > > On Wed, Mar 23, 2005 at 06:52:25PM -0800, Andrew Morton wrote: > > > >>Peter Baumann <[EMAIL PROTECTED]> wrote: > >> > >>> > >>>I'm hitting an annoying bug in kernel 2.6.11.5 > >>> > >>>Every time I _reboot_ (warmstart) my pc my two network cards won't get > >>>recognized any longer. > >>> > >>>Following error message appears on my screen: > >>> > >>>PCI: Enabling device 0000:00:0b.0 (0000 -> 0003) > >>>ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 19 (level, low) -> IRQ 19 > >>>3c59x: Donald Becker and others. www.scyld.com/network/vortex.html > >>>0000:00:0b.0: 3Com PCI 3c905B Cyclone 100baseTx at 0x1000. Vers LK1.1.19 > >>>PCI: Setting latency timer of device 0000:00:0b.0 to 64 > >>>*** EEPROM MAC address is invalid. > >>>3c59x: vortex_probe1 fails. Returns -22 > >>>3c59x: probe of 0000:00:0b.0 failed with error -22 > >>>PCI: Enabling device 0000:00:0d.0 (0000 -> 0003) > >>>ACPI: PCI interrupt 0000:00:0d.0[A] -> GSI 19 (level, low) -> IRQ 19 > >>>0000:00:0d.0: 3Com PCI 3c905B Cyclone 100baseTx at 0x1080. Vers LK1.1.19 > >>>PCI: Setting latency timer of device 0000:00:0d.0 to 64 > >>>*** EEPROM MAC address is invalid. > >>>3c59x: vortex_probe1 fails. Returns -22 > >>>3c59x: probe of 0000:00:0d.0 failed with error -22 > >>> > >>>This doesn't happen with older kernels (especially with 2.6.10) and so > >>>I've done a binary search and narrowed it down to 2.6.11-rc5 where it > >>>first hits me. > >>> > >>>My config, lspci output and the dmesg output of the working and non-working > >>>version can be found at [1] > >>> > >>>Feel free to ask if any information is missing or if I am supposed to try > >>>a patch. > >> > >>Thanks for doing the bsearch - it helps. > >> > >>There were no driver changes between 2.6.11-rc4 and 2.6.11-rc5. > >> > >>The only PCI change I see is > >> > >>--- drivers/pci/pci.c 22 Jan 2005 03:20:37 -0000 1.71 > >>+++ drivers/pci/pci.c 24 Feb 2005 18:02:37 -0000 1.72 > >>@@ -268,7 +268,7 @@ > >> return -EIO; > >> > >> pci_read_config_word(dev,pm + PCI_PM_PMC,&pmc); > >>- if ((pmc & PCI_PM_CAP_VER_MASK) != 2) { > >>+ if ((pmc & PCI_PM_CAP_VER_MASK) > 2) { > >> printk(KERN_DEBUG > >> "PCI: %s has unsupported PM cap regs version (%u)\n", > >> dev->slot_name, pmc & PCI_PM_CAP_VER_MASK); > >> > >>and you're not getting that message (are you?) > >> > > > > > > Reverting the above patch solved it.
nice. could i get dmesg output, lspci, lspci -vvvn output with the attached patch applied? thanks, rgds -daniel --- 1.81/drivers/pci/pci.c 2005-03-03 08:17:57 +01:00 +++ edited/drivers/pci/pci.c 2005-04-05 00:37:13 +02:00 @@ -268,7 +268,7 @@ return -EIO; pci_read_config_word(dev,pm + PCI_PM_PMC,&pmc); - if ((pmc & PCI_PM_CAP_VER_MASK) > 2) { + if ((pmc & PCI_PM_CAP_VER_MASK) > 3) { printk(KERN_DEBUG "PCI: %s has unsupported PM cap regs version (%u)\n", pci_name(dev), pmc & PCI_PM_CAP_VER_MASK); @@ -287,15 +287,19 @@ * This doesn't affect PME_Status, disables PME_En, and * sets PowerState to 0. */ - if (dev->current_state >= PCI_D3hot) + printk("PCI: %s pmc: %04x, current_state: %08x, pmcsr: ", pci_name(dev), pmc, dev->current_state); + if (dev->current_state >= PCI_D3hot) { pmcsr = 0; - else { + printk("0"); + } else { pci_read_config_word(dev, pm + PCI_PM_CTRL, &pmcsr); + printk("%04x", pmcsr); pmcsr &= ~PCI_PM_CTRL_STATE_MASK; pmcsr |= state; } /* enter specified state */ + printk(", new: %04x\n", pmcsr); pci_write_config_word(dev, pm + PCI_PM_CTRL, pmcsr); /* Mandatory power management transition delays */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/