Re: PCI bug in 2.6.13

From: Jeff Garzik
Date: Sun Sep 11 2005 - 11:33:01 EST


Linus Torvalds wrote:

On Sun, 11 Sep 2005, Miguel wrote:

After applying this patch I don't see anything new so I have added the
same WARN_ON in pci_write_config_byte and pci_write_config_word and now
dmesg shows this:


Thanks. Nobody should ever do a byte write to that offset, but clearly something does.

And yes, that's what I missed even though I quoted it from the hpt366
driver (heh, and nobody else noticed either):

/* FIXME: Not portable */
if (dev->resource[PCI_ROM_RESOURCE].start)
pci_write_config_byte(dev, PCI_ROM_ADDRESS,
dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);

I wonder how long that has been like that.

Change the pci_write_config_byte() into a pci_write_config_dword(), and I bet it works.

However, I _also_ suspect it works if you remove those lines entirely. I don't see why it tries to enable the ROM in the first place - it doesn't seem to be _using_ it.

I can't figure out what's going on in hpt driver, either. Just checked in 2.2 (not present) and 2.4 (same write-byte code).

Maybe Alan or Bart has details?

Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/