From 13a30395d6e9eda8b6f96aa6b8500a95ad920be4 Mon Sep 17 00:00:00 2001 From: Manu Gautam Date: Fri, 5 Oct 2012 13:16:00 +0530 Subject: DWC3: gadget: Report error if RX buffer not aligned to EP's MTU Synopsys USB3 Controller (DWC3) has a restriction where size of OUT requests (TRB) queued to the controller must be aligned with the endpoint's max packet size. Hence, report error in case function driver tries to queue an unaligned request. Change-Id: Id5f4a0ff9d2f9c55bba936d683608c524eadd260 Signed-off-by: Manu Gautam --- drivers/usb/dwc3/gadget.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/usb') diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index ac6304c3eae0..d872bd95f6ce 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1322,6 +1322,9 @@ static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request, goto out; } + WARN(!dep->direction && (request->length % ep->desc->wMaxPacketSize), + "trying to queue unaligned request (%d)\n", request->length); + ret = __dwc3_gadget_ep_queue(dep, req); out: -- cgit v1.2.3