[bugzilla-daemon@xxxxxxxxxx: [Bug 217251] New: pciehp: nvme not visible after re-insert to tbt port]

From: Bjorn Helgaas
Date: Mon Mar 27 2023 - 10:34:09 EST


Forwarding to NVMe folks, lists for visibility.

----- Forwarded message from bugzilla-daemon@xxxxxxxxxx -----

https://bugzilla.kernel.org/show_bug.cgi?id=217251
...

Created attachment 304031
--> https://bugzilla.kernel.org/attachment.cgi?id=304031&action=edit
the tracing of nvme_pci_enable() during re-insertion

Hi,

There is a JHL7540-based device that may host a NVMe device. After the first
insertion a nvme drive is properly discovered and handled by the relevant
modules. Once disconnected any further attempts are not successful. The device
is visible on a PCI bus, but nvme_pci_enable() ends up calling
pci_disable_device() every time; the runtime PM status of the device is
"suspended", the power status of the 04:01.0 PCI bridge is D3. Preventing the
device from being power managed ("on" -> /sys/devices/../power/control)
combined with device removal and pci rescan changes nothing. A host reboot
restores the initial state.

I would appreciate any suggestions how to debug it further.