usb: s3c-hsotg: Fix big buffers transfer in DMA mode
authorAnton Tikhomirov <av.tikhomirov@samsung.com>
Tue, 6 Mar 2012 05:09:19 +0000 (14:09 +0900)
committerFelipe Balbi <balbi@ti.com>
Tue, 10 Apr 2012 16:11:46 +0000 (19:11 +0300)
DMA address register shouldn't be updated manually if transfer size
requires multiple packets.

Signed-off-by: Anton Tikhomirov <av.tikhomirov@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/s3c-hsotg.c

index 8db2366..105b206 100644 (file)
@@ -741,7 +741,7 @@ static void s3c_hsotg_start_req(struct s3c_hsotg *hsotg,
        /* write size / packets */
        writel(epsize, hsotg->regs + epsize_reg);
 
-       if (using_dma(hsotg)) {
+       if (using_dma(hsotg) && !continuing) {
                unsigned int dma_reg;
 
                /* write DMA address to control register, buffer already