usbnet: cdc_mbim: comments on suspend failure
authorMing Lei <ming.lei@canonical.com>
Fri, 15 Mar 2013 04:08:56 +0000 (12:08 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Mar 2013 17:55:46 +0000 (10:55 -0700)
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 both
usbnet_suspend() and subdriver->suspend() MUST return 0 in
system sleep context.

Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/cdc_mbim.c

index 16c8429..673e362 100644 (file)
@@ -323,6 +323,11 @@ static int cdc_mbim_suspend(struct usb_interface *intf, pm_message_t message)
                goto error;
        }
 
+       /*
+        * Both usbnet_suspend() and subdriver->suspend() MUST return 0
+        * in system sleep context, otherwise, the resume callback has
+        * to recover device from previous suspend failure.
+        */
        ret = usbnet_suspend(intf, message);
        if (ret < 0)
                goto error;