]> Pileus Git - ~andy/linux/commitdiff
usb: gadget: s3c-hsotg: fix can_write limit for non-periodic endpoints
authorRobert Baldyga <r.baldyga@samsung.com>
Tue, 24 Sep 2013 09:24:28 +0000 (11:24 +0200)
committerFelipe Balbi <balbi@ti.com>
Tue, 1 Oct 2013 14:24:14 +0000 (09:24 -0500)
Value of can_write variable in s3c_hsotg_write_fifo function should be limited
to 512 only for non-periodic endpoints. There was some discrepancy between
comment and code, because comment suggests correct behavior, but in the code
limit was applied to periodic endpoints too. So there is additional check
causing the limitation concerns only non-periodic endpoints.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/s3c-hsotg.c

index 6bddf1aa23479f388ac101355d500a858d8b02a4..a8a99e4748d522bded4aef1882a7beaafe45603b 100644 (file)
@@ -543,7 +543,7 @@ static int s3c_hsotg_write_fifo(struct s3c_hsotg *hsotg,
         * FIFO, requests of >512 cause the endpoint to get stuck with a
         * fragment of the end of the transfer in it.
         */
-       if (can_write > 512)
+       if (can_write > 512 && !periodic)
                can_write = 512;
 
        /*