> 
> > Host controller's suspend should be executed later than root hub's,
> > or the hang may occur when root hub try to visit some registers
> > but host controller's suspend close the related clocks.
> 
> Have you ever seen this happen?  It should not be possible, because the
> PM core is careful not to suspend a parent before its child devices.
> 
> > Mark controller's suspend as async can make sure it is executed
> > later than root hub's as host controller is the parent of root hub.
> 
> We want to be careful about this sort of thing.  Most of the async
> suspend notations are for devices on a particular kind of bus, but the
> notation you want to add would apply to all host controllers on any
> bus.
> 
> If you really do see a host controller suspending before its root hub,
> this indicates there is a bug in the PM core.  The bug should be fixed;
> you shouldn't ignore it by marking all host controllers for async
> suspend.
> 

I am apologized that it does not occur after my experiments, I check this
problem because one of my colleagues assumes its possibilities, and I thought
dpm_wait_for_children at __device_suspend will not wait children if the dev 
is not async_suspend.

In fact, at dpm_wait_for_children, the parent will wait if one of
its child is async_suspend and this child's suspend is not finished.

> Alan Stern
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to