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