From 2daf8ebe5c9c4c7c1400a7c171597bb847d6d7c9 Mon Sep 17 00:00:00 2001 From: Mayank Rana Date: Thu, 28 Jan 2021 14:25:27 -0800 Subject: [PATCH] usb: composite: Don't override -EAGAIN return value usb_gadget_func_wakeup() API calls USB DWC3 controller function wakeup API. This API shall return different error value as below: 1. -EAGAIN if USB controller is into low power mode, 2. -EOPNOTSUPP if function wakeup is not supported, 3. -ETIMEDOUT or -EINVAL if USB dwc3 controller is failing to invoke wakeup notification. -EAGAIN return value is used by USB function driver to retry USB function wakeup on receiving resume callback once USB bus is resumed. Hence don't override -EAGAIN return value. Also replace -ENOTSUPP with -EOPNOTSUPP which is error code used by gagdet framework. Change-Id: I5f392a7b31c169eacc3503191f6e03a72dd95238 Signed-off-by: Mayank Rana --- drivers/usb/gadget/composite.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 60799750d515..866d68593ca0 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -506,8 +506,7 @@ int usb_func_wakeup(struct usb_function *func) DBG(func->config->cdev, "Function wakeup for %s could not complete due to suspend state. Delayed until after bus resume.\n", func->name ? func->name : ""); - ret = 0; - } else if (ret < 0 && ret != -ENOTSUPP) { + } else if (ret < 0 && ret != -EOPNOTSUPP) { ERROR(func->config->cdev, "Failed to wake function %s from suspend state. ret=%d. Canceling USB request.\n", func->name ? func->name : "", ret);