Re: [PATCH] PCI: pciehp: Prevent child devices from doing RPM on PCIe Link Down

From: Kai-Heng Feng
Date: Tue Oct 17 2023 - 00:35:43 EST


On Mon, Oct 16, 2023 at 5:32 PM Lukas Wunner <lukas@xxxxxxxxx> wrote:
>
> On Mon, Oct 16, 2023 at 12:01:31PM +0800, Kai-Heng Feng wrote:
> > When inserting an SD7.0 card to Realtek card reader, it can trigger PCI
> > slot Link down and causes the following error:
>
> Why does *inserting* a card cause a Link Down?

Ricky, do you know the reason why Link Down happens?

>
>
> > [ 63.898861] pcieport 0000:00:1c.0: pciehp: Slot(8): Link Down
> > [ 63.912118] BUG: unable to handle page fault for address: ffffb24d403e5010
> [...]
> > [ 63.912198] ? asm_exc_page_fault+0x27/0x30
> > [ 63.912203] ? ioread32+0x2e/0x70
> > [ 63.912206] ? rtsx_pci_write_register+0x5b/0x90 [rtsx_pci]
> > [ 63.912217] rtsx_set_l1off_sub+0x1c/0x30 [rtsx_pci]
> > [ 63.912226] rts5261_set_l1off_cfg_sub_d0+0x36/0x40 [rtsx_pci]
> > [ 63.912234] rtsx_pci_runtime_idle+0xc7/0x160 [rtsx_pci]
> > [ 63.912243] ? __pfx_pci_pm_runtime_idle+0x10/0x10
> > [ 63.912246] pci_pm_runtime_idle+0x34/0x70
> > [ 63.912248] rpm_idle+0xc4/0x2b0
> > [ 63.912251] pm_runtime_work+0x93/0xc0
> > [ 63.912254] process_one_work+0x21a/0x430
> > [ 63.912258] worker_thread+0x4a/0x3c0
>
> This looks like pcr->remap_addr is accessed after it has been iounmap'ed
> in rtsx_pci_remove() or before it has been iomap'ed in rtsx_pci_probe().
>
> Is the card reader itself located below a hotplug port and unplugged here?
> Or is this about the card being removed from the card reader?
>
> Having full dmesg output and lspci -vvv output attached to a bugzilla
> would help to understand what is going on.

I don't have the hardware so we need Ricky to provide more information here.

Regardless of the cardreader issue, do you have any concern on the patch itself?

Kai-Heng

>
> Thanks,
>
> Lukas