Re: Linux 3.7-rc3

From: Alan Stern
Date: Sat Nov 03 2012 - 12:35:36 EST


On Fri, 2 Nov 2012, Linus Torvalds wrote:

> On Fri, Nov 2, 2012 at 3:43 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> >
> > Well, not everything is rosy in the suspend land, though. This is a
> > failure to freeze khubd during the second in a row attempt to suspend to
> > RAM (your current tree):
>
> Ugh. So khubd is blocked in usb_start_wait_urb(), and apparently the
> timeout for that block is longer than the freezing timeout.
>
> There's a comment about why khubd needs to be freezable, but I wonder
> if that whole thing isn't doing something wrong. Causing the suspend
> to fail is definitely always the wrong thing.

khubs has been a potential problem for suspend since the beginning.

The USB spec mandates timeouts of 5 seconds. In addition, khubd does
lots of retries when errors occur (probably way too many) and checks
for freezability only when its to-do list is empty.

Under normal circumstances this isn't a problem. Issues arise when a
non-cooperative device is plugged in shortly before a suspend starts.

I suppose we could scatter a whole bunch of checks at spots throughout
the device-initialization code. This seems awkward but I can't think
of anything better. Does anyone have other suggestions?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/