Re: [PATCH v2] pci: quirks: Disable native PCIe hotplug on MSI Claw A8 root bridge
Derek John Clark <[email protected]>
| Newsgroups | org.kernel.vger.linux-pci,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAFqHKTnPHuJ7VFqpLzNDJOOQm=-4TC84y2Z+a9pFgB_qXNpPEw@mail.gmail.com> |
On Wed, Aug 12, 2026 at 11:20 AM Lukas Wunner <[email protected]> wrote: > > On Tue, Aug 11, 2026 at 07:19:12AM +0200, Lukas Wunner wrote: > > On Mon, Aug 10, 2026 at 01:57:58PM -0700, Derek John Clark wrote: > > > I suppose that is true, but in that case we still wouldn't be able to > > > use it as the root fs since it gets removed/re-added during a suspend. > > > Would the quirk I submitted not have this compromise? > > > > Okay I wasn't sure that using the MMC card as root filesystem > > is even possible on this product. If that's a potential use case, > > it needs a separate fix. I'll come up with a proposal for that one > > as well. > > Here's my proposal for allowing root on an MMC card. > > Both this and the other patch I just sent (or something like it) > need to be submitted upstream. The other one is necessary so others > don't see a lockup when disconnecting e.g. a Thunderbolt-attached > card reader during system sleep. > > But either one of the patches should make the issue go away on the > MSI Claw, so each patch needs to be tested by itself, without applying > the other one as well. Thanks! > > -- >8 -- This also works independently of the previous fix. Tested-by: Derek J. Clark <[email protected]> - Derek > diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c > index b301c6c8df75..9da7ae0b2437 100644 > --- a/arch/x86/pci/fixup.c > +++ b/arch/x86/pci/fixup.c > @@ -1080,4 +1080,20 @@ static void quirk_tuxeo_rp_d3(struct pci_dev *pdev) > } > } > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1502, quirk_tuxeo_rp_d3); > + > +/* > + * MSI Claw A8 firmware initializes the onboard Realtek RTS525A cardreader > + * with an MSI-specific Subsystem Vendor and Device ID on boot, but neglects > + * to re-initialize it on resume. Avoid hot-removal of the cardreader due to > + * the spurious ID change. > + */ > +static void quirk_msi_claw_cardreader(struct pci_dev *pdev) > +{ > + if (pdev->subsystem_vendor == 0x1462 && > + pdev->subsystem_device == 0x14af) { > + pdev->subsystem_vendor = pdev->vendor; > + pdev->subsystem_device = pdev->device; > + } > +} > +DECLARE_PCI_FIXUP_SUSPEND_LATE(PCI_VENDOR_ID_REALTEK, 0x525a, quirk_msi_claw_cardreader); > #endif /* CONFIG_SUSPEND */