Re: [PATCH v3] usb: ehci: Only sleep for post-resume handover ifdevices use persist

From: Greg Kroah-Hartman
Date: Thu May 16 2013 - 23:42:28 EST

On Thu, Apr 25, 2013 at 09:08:27AM -0700, Julius Werner wrote:
> The current EHCI code sleeps a flat 110ms in the resume path if there
> was a USB 1.1 device connected to its companion controller during
> suspend, waiting for the device to reappear and reset so that it can be
> handed back to the companion. This is necessary if the device uses
> persist, so that the companion controller can actually see it during its
> own resume path.
> However, if the device doesn't use persist, this is entirely
> unnecessary. We might just as well ignore it and have the normal device
> detection/reset/handoff code handle it asynchronously when it eventually
> shows up. As USB 1.1 devices are almost exclusively HIDs these days (for
> which persist has no value), this can allow distros to shave another
> tenth of a second off their resume time.
> In order to enable this optimization, the patch also adds a new
> usb_for_each_dev() iterator that is exported by the USB core and wraps
> bus_for_each_dev() with the logic to differentiate between struct
> usb_device and struct usb_interface on the usb_bus_type bus.
> Signed-off-by: Julius Werner <jwerner@xxxxxxxxxxxx>
> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/usb/core/usb.c | 33 +++++++++++++++++++++++++++++++++
> drivers/usb/host/ehci-hub.c | 17 +++++++++++++++++
> include/linux/usb.h | 1 +
> 3 files changed, 51 insertions(+)

This patch is corrupted somehow, but I can't figure out how.

I'm getting the error:
checking file drivers/usb/core/usb.c
checking file drivers/usb/host/ehci-hub.c
patch: **** malformed patch at line 164: @@ -56,6 +63,16 @@ static void ehci_handover_companion_ports(struct ehci_hcd *ehci)

when trying to apply it. git also doesn't like it.

Care to fix this up and resend it so I can apply it?


greg k-h
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at