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/

Reply via email to