usb: dwc3: gadget: WARN on no-resource status
authorThinh Nguyen <Thinh.Nguyen@synopsys.com>
Sun, 29 Mar 2020 23:13:16 +0000 (16:13 -0700)
committerFelipe Balbi <balbi@kernel.org>
Tue, 5 May 2020 08:00:13 +0000 (11:00 +0300)
If the driver issued START_TRANSFER and received a no-resource status,
then generally there are a few reasons for this:

1) The driver did not allocate resource for the endpoint during
power-on-reset initialization.

2) The transfer resource was reset. At this moment, we don't do this in
the driver, but it occurs when the driver issues START_CONFIG cmd to ep0
with resource index=2.

3) The driver issues the START_TRANSFER command to an already started
endpoint. Usually, this is because the END_TRANSFER command hasn't
completed yet.

Print out a warning to help debug this issue in the driver.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/gadget.c

index dc03c04..a055525 100644 (file)
@@ -356,6 +356,8 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ep *dep, unsigned cmd,
                                ret = 0;
                                break;
                        case DEPEVT_TRANSFER_NO_RESOURCE:
+                               dev_WARN(dwc->dev, "No resource for %s\n",
+                                        dep->name);
                                ret = -EINVAL;
                                break;
                        case DEPEVT_TRANSFER_BUS_EXPIRY: