Hi list, each time I start up my laptop (Debian testing, Linux 3.0 as provided in the repositories), the following error (warning?) appears:
[ 5.083819] shpchp 0000:00:01.0: Cannot reserve MMIO region The system is working fine as far as I can tell. I observed that message for quite a while already, even back when I still used Kubuntu with the kernel version 2.6.38, then with 2.6.39 on Debian testing, and now with 3.0. I reported this downstream at http://bugs.debian.org/cgi- bin/bugreport.cgi?bug=638863 where you can also find the full dmesg and lspci output, the loaded kernel modules, and so on. Jonathan replied with a quick analysis and saying that I should report this upstream on this list. Here's what he wrote: > The relevant code is in drivers/pci/hotplug/shpchp_hpc.c: > > if (!request_mem_region(ctrl->mmio_base, ctrl->mmio_size, MY_NAME)) { > ctrl_err(ctrl, "Cannot reserve MMIO region\n"); > rc = -1; > goto abort; > } > > This comes after a message like > > shpchp 0000:00:01.0: HPC vendor_id 1022 device_id 9602 ss_vid 1022 > ss_did > 9602 > > which means that a hotplug controller was detected. Looking at "lspci -nn" > output, I can see that this device is > > 00:01.0 PCI bridge: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI > bridge (int gfx) > > So the problem would seem to be that Linux thinks this PCI-PCI bridge > supports the standard hotplug controller interface (because it assumes > _anything_ with AMD's vendor id does), when it doesn't. > > static int is_shpc_capable(struct pci_dev *dev) > { > if ((dev->vendor == PCI_VENDOR_ID_AMD) || (dev->device == > > PCI_DEVICE_ID_AMD_GOLAM_7450)) > return 1; > if (!pci_find_capability(dev, PCI_CAP_ID_SHPC)) > return 0; > if (get_hp_hw_control_from_firmware(dev)) > return 0; > return 1; > } > > The test has been that way ever since v2.6.15-rc1~731^2~22^2~13 > (shpchp: detect SHPC capability before doing a lot of work, > 2006-10-13). The false positive (if it actually is a false positive) > is clearly harmless. If someone wants to remove the "if (dev->vendor > == PCI_VENDOR_ID_AMD)" exception, it would be necessary to research > why it is there in the first place (are there AMD hotplug controllers > that do not advertise the shpc capability for which that exception is > needed?) and if so, what a more precise exception to solve the same > problem would be. Kind regards, Ralf (I am not subscribed to linux-pci, so please CC me in replies) -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/201108231433.08257.ralfjun...@gmx.de