On Fri, Mar 15, 2013 at 12:08:54PM +0800, Ming Lei wrote:
> If suspend callback fails in system sleep context, usb core will
> ignore the failure and let system sleep go ahead further, so
> this patch comments on the case and requires that serial->type->suspend()
> MUST return 0 in system sleep context.
> 
> Cc: Johan Hovold <jhov...@gmail.com>
> Signed-off-by: Ming Lei <ming....@canonical.com>
> ---
>  drivers/usb/serial/usb-serial.c |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
> index a19ed74..16eb02b 100644
> --- a/drivers/usb/serial/usb-serial.c
> +++ b/drivers/usb/serial/usb-serial.c
> @@ -1140,6 +1140,11 @@ int usb_serial_suspend(struct usb_interface *intf, 
> pm_message_t message)
>  
>       serial->suspending = 1;
>  
> +     /*
> +      * serial->type->suspend() MUST return 0 in system sleep context,
> +      * otherwise, the resume callback has to recover device from
> +      * previous suspend failure.
> +      */
>       if (serial->type->suspend) {
>               r = serial->type->suspend(serial, message);
>               if (r < 0) {

Acked-by: Johan Hovold <jhov...@gmail.com>

Thanks,
Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to