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 <jhovold@xxxxxxxxx> > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> > --- > 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 <jhovold@xxxxxxxxx> Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html