Re: [PATCH 4/7] usbnet: cdc_mbim: don't recover device if suspend fails in system sleep
From: Ming Lei <hidden>
Date: 2013-03-05 11:07:59
Also in:
linux-input
On Tue, Mar 5, 2013 at 3:09 PM, Bjørn Mork [off-list ref] wrote:
Ming Lei [off-list ref] writes:quoted
If suspend callback fails in system sleep context, usb core will ignore the failure and let system sleep go ahead further, so this patch doesn't recover device under this situation. Cc: Bjørn Mork <bjorn@mork.no> Signed-off-by: Ming Lei <redacted> --- drivers/net/usb/cdc_mbim.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/net/usb/cdc_mbim.c b/drivers/net/usb/cdc_mbim.c index 248d2dc..da83546 100644 --- a/drivers/net/usb/cdc_mbim.c +++ b/drivers/net/usb/cdc_mbim.c@@ -338,7 +338,7 @@ static int cdc_mbim_suspend(struct usb_interface *intf, pm_message_t message) if (intf == ctx->control && info->subdriver && info->subdriver->suspend) ret = info->subdriver->suspend(intf, message); - if (ret < 0) + if (ret < 0 && PMSG_IS_AUTO(msg)) usbnet_resume(intf); error:NAK. We if the device cannot suspend, then it cannot do suspend halfways
Sorry, what do you mean that the device cannot suspend? If you mean usb_suspend_device(), its failure is still ignored, and generally it is OK since the suspend action is driven by upstream port.
either. Whether the caller will ignore the error or not, is irrelevant.
Anyway, usbnet_resume() can't be called to submit new URBs in the failure path of system suspend, so the patch should be correct. Thanks, -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html