Linus reported at http://lkml.kernel.org/r/CA+55aFwH4UL-76-=ygDww4=vC9U=6_Yhs0D0H-nwtAkKXC6Vag@mail.gmail.com: So I don't know when this started happening, and it may well be an age-old issue, possibly made worse by configurations copied from distro makers that enable various random PCI hotplug logic, but my laptop dmesg is full of these annoying and worthless messages after suspend/resume: ... pci 0000:00:00.0: no hotplug settings from platform pci 0000:00:00.0: using default PCI settings i915 0000:00:02.0: no hotplug settings from platform i915 0000:00:02.0: using default PCI settings ... basically repeating mindlessly for each PCI device. It's insane. It adds zero value. Why do we print out those inane messages? The reason _seems_ to be that some ACPI hotplug logic basically ends up doing "pci_configure_slot()" on every PCI slot, whether something is hotpluggable or not. Trust me, those things aren't. Printing pointless hotplug information for them is just crazy, and takes up kernel message space and hides _real_ messages for no good reason. Lookie here: [torvalds@vaio linux]$ dmesg | grep "no hotplug settings" | wc 1006 8658 71574 yeah, that's a thousand lines of crap. There's another 568 lines of the "using default PCI settings". In fact, there's *more* of this, but there's been so much of it that it's scrolled off the kernel message buffer.
Created attachment 149971 [details] dmesg with excessive "no hotplug settings" messages Here's a sample dmesg log from v3.17-rc2 on my laptop (HP EliteBook 840). This is just a boot (no suspend/resume), but: $ egrep "no hotplug settings|using default" dmesg-pre | wc -l 200
6a73336bde29 ("PCI: Remove "no hotplug settings from platform" warning") appeared in v3.17 and removed both these messages. This series of related hotplug device configuration changes appeared in v3.18-rc1: 2f419d76599e "Merge branch 'pci/hotplug' into next": * pci/hotplug: PCI: pciehp: Prevent NULL dereference during probe PCI: pciehp: Reduce PCIe slot_ctrl to 16 bits PCI: Configure *all* devices, not just hot-added ones PCI: Preserve MPS and MRRS when applying _HPX settings PCI: Apply _HPP settings to all hot-added PCI devices PCI: Preserve BIOS PCI_COMMAND_SERR and PCI_COMMAND_PARITY settings PCI: Apply _HPP settings to PCIe devices as well as PCI and PCI-X PCI: Remove unused pci_configure_slot() ACPI / hotplug / PCI: Remove pci_configure_slot() usage PCI: shpchp: Remove pci_configure_slot() usage PCI: pciehp: Remove pci_configure_slot() usage PCI: Add pci_configure_device() during enumeration PCI: Move pci_configure_slot() to drivers/pci/probe.c PCI: Shuffle pci-acpi.c functions to group them logically PCI: Whitespace cleanup in pci-acpi.c PCI: Move pci_get_hp_params() to drivers/pci/pci-acpi.c PCI: pciehp: Configure hot-added display devices PCI: Remove "no hotplug settings from platform" warning