Re: [Bug] SD card reader in Acer Aspire S5 broken in 4.20-rc

From: Rafael J. Wysocki
Date: Mon Nov 26 2018 - 17:37:27 EST


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