Re: [PATCH] Remove process freezer from suspend to RAM pathway

Alan Stern
2007-07-06T14:38:59Z

On Fri, 6 Jul 2007, Benjamin Herrenschmidt wrote:

> What you propose is basically a slightly over-simplistic version of what
> I think (and Paulus think) should be done. We do need to do it via
> driver callbacks down the tree since only drivers can know how to deal
> with their DMA etc... and ordering need to be respected, but that's
> basically it.
>
> And guess what ? It's what we do on powerbooks, and it works fine,
> without a freezer :-)

I wish you'd stop saying that. Have you ever done any serious testing?

Here's something to try: Add a time delay to the end of hub_suspend in
drivers/usb/core/hub.c, so you can provoke a race manually. Then while
one of your root hubs is being suspended and the system is waiting in
that delay, either plug in a new USB device to that hub or unplug an
existing device.

Be sure that CONFIG_USB_DEBUG is on so that we can figure out what
happened after the fact.

Alan Stern