Here is a PPA with a fix for this:

There was no code change required; the only change is the acpiphp driver
is built-in, instead of a module.

During boot, when the pci-acpi driver is loaded, it enumerates the bus.
Later when the acpiphp driver is loaded, it registers for any pci-acpi
hotplug events.  Between the pci-acpi driver loading and the acpiphp
driver loading, any pci acpi hotplug events are lost, since the bus was
already enumerated and there is no driver monitoring hotplugs.

Currently (without this PPA), pci-acpi is built-in, and enumerates the
pci acpi devices/buses during boot.  The acpiphp driver is a module,
however, and therefore loads much later - more than 4 seconds later, in
my brief tests.  With this PPA, the acpiphp driver is built-in, and
loads a fraction of a second after the pci-acpi driver - less than 1/4
second in my brief tests.

So to clarify, this does not eliminate the window of time where pci acpi
hotplug events will be lost, it only reduces it from multiple seconds,
down to a small fraction of a second.

You can check the size of the window where hotplug events will be lost with:
# dmesg | grep "ACPI: bus type pci"
[    0.230350] ACPI: bus type pci registered
# dmesg | grep "acpiphp: ACPI"
[    0.517999] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5

that's not the exact window, since pci enumeration happens after the bus
type is registered, so it's a bit smaller than that.

You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

  attached block devices not showing up

To manage notifications about this bug go to:

ubuntu-bugs mailing list

Reply via email to