Re: [PATCH 4/5] usb: call pm_runtime_put_sync in pm_runtime_get_syncfailed case

From: Alan Stern
Date: Thu Feb 28 2013 - 10:14:09 EST


On Thu, 28 Feb 2013, Lan Tianyu wrote:

> Hi Alan:
> Further thinking, the device should be disconnected since the port
> can't be resumed and the device will not work normally. Something like
> following. Does this make sense?
> ---
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index d5d3de4..cf36b11 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -3170,6 +3170,7 @@ int usb_port_resume(struct usb_device *udev,
> pm_message_t msg)
> if (status < 0) {
> dev_dbg(&udev->dev, "can't resume usb port,
> status %d\n",
> status);
> + hub_port_logical_disconnect(hub, port1);
> return status;
> }
> }

I don't know. If you do this, will the port ever get powered on again?
This sort of thing is hard to test.

As far as the device is concerned, it won't make much difference.
Either way, the device won't work.

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/