[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: