Re: [PATCH] pci: quirks: Disable native PCIe hotplug on MSI Claw A8 root bridge
| Newsgroups | org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] The quirk disables native PCIe hotplug on the shared host bridge rather than specifically for the target root port, which breaks hotplug functionality for dynamically enumerated Thunderbolt/USB4 devices system-wide. -- --- Patch [1]: [PATCH] pci: quirks: Disable native PCIe hotplug on MSI Claw A8 root bridge --- commit 841400e3b6d906dff0f94738835128127178d2e6 Author: Derek J. Clark <[email protected]> pci: quirks: Disable native PCIe hotplug on MSI Claw A8 root bridge This commit adds a quirk for the MSI Claw A8 to prevent s2idle resume failures caused by the Realtek card reader. It disables native PCIe hotplug on the host bridge when the specific root port is found. > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c [ ... ] > +static void quirk_claw_a8_no_native_hotplug(struct pci_dev *pdev) > +{ > + struct pci_host_bridge *bridge; > + > + if (!dmi_match(DMI_BOARD_NAME, "MS-1T8K")) > + return; > + > + if (pdev->bus->number != 0 || > + PCI_SLOT(pdev->devfn) != 2 || > + PCI_FUNC(pdev->devfn) != 2) > + return; > + > + bridge = pci_find_host_bridge(pdev->bus); > + if (!bridge) > + return; > + dev_info(&pdev->dev, "disabling native PCIe hotplug\n"); > + bridge->native_pcie_hotplug = false; [Severity: High] Does setting bridge->native_pcie_hotplug = false here break hotplug functionality for dynamically enumerated Thunderbolt/USB4 devices on this system? Because the pci_host_bridge is a shared structure, modifying it globally prevents the pciehp driver from claiming any hotplug-capable PCIe port under that domain. While this might be the only fixed slot reporting HotPlug+ during boot, downstream ports on dynamically hot-plugged PCIe switches (like Thunderbolt docks, eGPUs, or NVMe enclosures) rely on the host bridge's native hotplug capability to function. Would it be safer to clear pdev->is_pciehp and pdev->is_hotplug_bridge on the specific root port instead of modifying the shared host bridge? > +} > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x150b, > + quirk_claw_a8_no_native_hotplug); -- Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1