On 03/02/2018 03:11 AM, Rafael J. Wysocki wrote: > [+Greg] > > On Thu, Mar 1, 2018 at 11:15 PM, Feng Kan <fkan@xxxxxxx> wrote: >> When bridge and its endpoint is enumerated the devices are added to the >> dpm list. Afterward, the bridge defers probe when IOMMU is not ready. >> This causes the bridge to be moved to the end of the dpm list when >> deferred probe kicks in. The order of the dpm list for bridge and >> endpoint is reversed. >> >> Add reordering code to move the bridge and its children and consumers to >> the end of the pm list so the order for suspend and resume is not altered. >> The code also move device and its children and consumers to the tail of >> device_kset list if it is registered. > > I assume that this has been tested and works as expected. isn't it the same as https://lkml.org/lkml/2015/9/10/248? (in general) And wouldn't device links solve the issue? commit 9ed9895370aedd6032af2a9181c62c394d08223b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 30 17:32:16 2016 +0100 driver core: Functional dependencies tracking support Currently, there is a problem with taking functional dependencies between devices into account. My understanding of device links is that they were introduced exactly to fix such kind of issues and explicitly define dependencies between devices in code. But, I could be missing smth... sry if this is the case. -- regards, -grygorii