On Mon, Sep 23, 2019 at 11:12:37AM +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. Right. I'm (still) working on that, albeit slowly as I'm caught up with other stuff. Thanks, Lukas