Bug#638863: "shpchp: Cannot reserve MMIO region" error during boot (linux 3.0)
Thanks! These tests:
if ((dev->vendor == PCI_VENDOR_ID_AMD) || (dev->device ==
PCI_DEVICE_ID_AMD_GOLAM_7450))
are clearly wrong. I suspect "&&" was intended instead of "||", but
this code seems to have been that way since the beginning, so I don't
know how to verify that.
In any event, it would be perfectly legal for any other (non-AMD)
manufacturer to make a PCI bridge that uses the 0x7450 device ID, and
this code would do the wrong thing with it.
I think we should change that "||" to "&&". That will fix your
message and avoid any conflicts with non-AMD devices. It's possible
that it will break shpchp on some non-7450 AMD bridges, but we'll just
have to deal with those as we discover them.
I cc'd a couple AMD folks in case they have comments [see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638863].
Reply to: