Re: USB device PM oddity in 3.5

Josh Boyer
2012-05-25T14:28:06Z

On Fri, May 25, 2012 at 02:08:26PM +0100, Matthew Garrett wrote:
> udev is being a little too aggressive in enabling autosuspend. I've just
> sent a patch upstream, but here it is:

Aside from the small buglet in the rule below, this seems to solve the
issue. I've booted Linus' tree as of this morning with a fixed udev and
initramfs and the keyboard and mouse are working well now.
> diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules
> index d5d5897..fc44b94 100644
> --- a/rules/42-usb-hid-pm.rules
> +++ b/rules/42-usb-hid-pm.rules
> @@ -46,4 +46,10 @@ ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012
> ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto"
>
> # USB HID devices that are internal to the machine should also be safe to autosuspend
> +
> +ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
> +ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
> +
> ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
> +
> +LABEL="usb_add_pm_end"

LABEL should be "usb_hid_pm_end" here.

josh