Linux-USB Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] usb: dwc2: Fix in ISOC request length checking
@ 2020-01-13 14:32 Minas Harutyunyan
  2020-01-14  9:36 ` Sergei Shtylyov
  0 siblings, 1 reply; 2+ messages in thread
From: Minas Harutyunyan @ 2020-01-13 14:32 UTC (permalink / raw)
  To: Felipe Balbi, Greg Kroah-Hartman, Minas Harutyunyan, linux-usb; +Cc: John Youn

Move ISOC request length cheking from dwc2_hsotg_start_req() function to
dwc2_hsotg_ep_queue().

Fixes: 4fca54aa58293 "usb: gadget: s3c-hsotg: add multi count support"
Robert Baldyga <r.baldyga@samsung.com>

Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
---
 drivers/usb/dwc2/gadget.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
index 88f7d6d4ff2d..7b40cf5bdc2f 100644
--- a/drivers/usb/dwc2/gadget.c
+++ b/drivers/usb/dwc2/gadget.c
@@ -1083,11 +1083,6 @@ static void dwc2_hsotg_start_req(struct dwc2_hsotg *hsotg,
 	else
 		packets = 1;	/* send one packet if length is zero. */
 
-	if (hs_ep->isochronous && length > (hs_ep->mc * hs_ep->ep.maxpacket)) {
-		dev_err(hsotg->dev, "req length > maxpacket*mc\n");
-		return;
-	}
-
 	if (dir_in && index != 0)
 		if (hs_ep->isochronous)
 			epsize = DXEPTSIZ_MC(packets);
@@ -1391,6 +1386,13 @@ static int dwc2_hsotg_ep_queue(struct usb_ep *ep, struct usb_request *req,
 	req->actual = 0;
 	req->status = -EINPROGRESS;
 
+	/* Don't queue ISOC request if length greater than mps*mc */
+	if (hs_ep->isochronous &&
+	    req->length > (hs_ep->mc * hs_ep->ep.maxpacket)) {
+		dev_err(hs->dev, "req length > maxpacket*mc\n");
+		return -EINVAL;
+	}
+
 	/* In DDMA mode for ISOC's don't queue request if length greater
 	 * than descriptor limits.
 	 */
-- 
2.11.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] usb: dwc2: Fix in ISOC request length checking
  2020-01-13 14:32 [PATCH] usb: dwc2: Fix in ISOC request length checking Minas Harutyunyan
@ 2020-01-14  9:36 ` Sergei Shtylyov
  0 siblings, 0 replies; 2+ messages in thread
From: Sergei Shtylyov @ 2020-01-14  9:36 UTC (permalink / raw)
  To: Minas Harutyunyan, Felipe Balbi, Greg Kroah-Hartman, linux-usb; +Cc: John Youn

Hello!

On 13.01.2020 17:32, Minas Harutyunyan wrote:

> Move ISOC request length cheking from dwc2_hsotg_start_req() function to

    Checking. :-)

> dwc2_hsotg_ep_queue().
> 
> Fixes: 4fca54aa58293 "usb: gadget: s3c-hsotg: add multi count support"

    You also need () around the patch summary: ("<summary>")...

> Robert Baldyga <r.baldyga@samsung.com>

    What's that?

> 

    All tags should be listed without new lines in between.

> Signed-off-by: Minas Harutyunyan <hmina
[...]

MBR, Sergei



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-13 14:32 [PATCH] usb: dwc2: Fix in ISOC request length checking Minas Harutyunyan
2020-01-14  9:36 ` Sergei Shtylyov

Linux-USB Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-usb/0 linux-usb/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-usb linux-usb/ https://lore.kernel.org/linux-usb \
		linux-usb@vger.kernel.org
	public-inbox-index linux-usb

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-usb


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git