On Monday, November 26, 2018 7:03:58 PM CET Rafael J. Wysocki wrote: > Hi Bjorn, > > The SD card reader in my Acer Aspire S5 doesn't work with 4.20-rc. > > Here's what lspci -v says about it (in a bad kernel): > > 02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader > (rev 01) > Subsystem: Acer Incorporated [ALI] Device 0704 > Flags: bus master, fast devsel, latency 0, IRQ 35 > Memory at d9001000 (32-bit, non-prefetchable) [size=4K] > Capabilities: [40] Power Management version 3 > Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+ > Capabilities: [70] Express Endpoint, MSI 00 > Capabilities: [100] Advanced Error Reporting > Capabilities: [140] Device Serial Number 00-00-00-01-00-4c-e0-00 > Kernel driver in use: rtsx_pci > Kernel modules: rtsx_pci > > When it doesn't work, it doesn't generate any interrupts on device insertion > and removal and this seems to be reproducible 100% of the time. > > Bisection turned up > > commit de468b755464426c276df2daf1e54bcd64186020 > Merge: b1801bf05964 d6112f8def51 > Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Date: Sat Oct 20 11:45:28 2018 -0500 > > Merge branch 'pci/enumeration' > > - Remove x86 and arm64 node-local allocation for host bridge structures > (Punit Agrawal) > > - Pay attention to device-specific _PXM node values (Jonathan Cameron) > > - Support new Immediate Readiness bit (Felipe Balbi) > > * pci/enumeration: > PCI: Add support for Immediate Readiness > ACPI/PCI: Pay attention to device-specific _PXM node values > x86/PCI: Remove node-local allocation when initialising host controller > arm64: PCI: Remove node-local allocations when initialising host controller > > as the first bad commit, but the "PCI: Add support for Immediate Readiness" > one was tested as "good" (full bisect log is attached). > > I wonder if you have any ideas on what to check? So reverting 17c91487364f (PCI/ASPM: Do not initialize link state when aspm_disabled is set) on top of 4.20-rc4 makes the problem go away. I guess that the device in question needs pcie_aspm_cap_init() to be called for it even though the FADT says "NO_ASPM". Thanks, Rafael