Re: [PATCH v2 2/2] PCI: pciehp: Prevent deadlock on disconnect

From: Kai-Heng Feng
Date: Fri Oct 18 2019 - 03:10:42 EST


Hi Mika,

> On Sep 23, 2019, at 16:28, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
>
> On Mon, Sep 23, 2019 at 11:12:42AM +0300, Mika Westerberg wrote:
>> Regarding suggestion of unbinding PCI drivers without
>> pci_lock_rescan_remove() hold, I haven't looked it too closely but I
>> think we need to take that lock anyway because when we are unbinding a
>> hotplug driver it is supposed to remove the hierarchy below touching the
>> shared structures, possibly concurrently. Unfortunately there is no
>> documentation what data pci_lock_rescan_remove() actually protects so
>> first one needs to understand that. I think one way to clean up this is
>> to use finer grained locking (with documented lock ordering) for PCI bus
>> structures that can be accessed simultaneusly by different threads. But
>> that is not a simple task.
>
> Now that I looked more closely, I realized it actually is not supposed
> to remove the hierarchy below so indeed it might be possible to do that
> without taking pci_lock_rescan_remove().

This series fixes S3 resume hang when native PCIe TBT is connected to TBT dock.
Is there going to be a v3 of this series?

Anyway, please collect my tested-by tag,
Tested-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>

Kai-Heng