Re: [PATCH] USB: Only enable autosuspend by default on certain device classes

From: Matthew Garrett
Date: Fri Aug 03 2007 - 10:34:21 EST


On Fri, Aug 03, 2007 at 10:28:19AM -0400, Alan Stern wrote:
> On Fri, 3 Aug 2007, Matthew Garrett wrote:

> There are two possible solutions, both involving the kernel (since
> userspace can't respond in time). One is to change the default timeout
> to something larger, or even disable it completely. Then people would
> need to rely on userspace tools to enable autosuspend on known-good
> devices. The other possibility is to have a fairly reliable blacklist
> or whitelist and again rely on userspace to manage edge cases. This is
> of course more flexible than a blanket default setting, but it's still
> pretty rigid. On the other hand, a blacklist can't be changed without
> rebuilding the kernel whereas the default timeout can be adjusted on
> the boot command line.

Windows will autosuspend hubs, bluetooth devices, HID devices and CDC
devices, so I think we're safe suspending those by default. I'm not so
enthusiastic about the "Increase the timeout case" - it doesn't avoid
any races, just makes them less likely. USB is likely to get loaded in
the initramfs, but we may not have a full set of udev rules until the
root fs is up and that can take an effectively arbitrarily large amount
of time.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
-
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/