summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorAnton Tikhomirov <av.tikhomirov@samsung.com>2012-03-06 06:09:19 +0100
committerFelipe Balbi <balbi@ti.com>2012-04-10 18:11:46 +0200
commitdb1d8ba36551bf55222c7961d9e9a1195a612fde (patch)
treeb007b9865a3a4282431f03fb5dbeaabfb121ca6c /drivers/usb
parentusb: s3c-hsotg: Avoid TxFIFO corruption in DMA mode (diff)
downloadlinux-db1d8ba36551bf55222c7961d9e9a1195a612fde.tar.xz
linux-db1d8ba36551bf55222c7961d9e9a1195a612fde.zip
usb: s3c-hsotg: Fix big buffers transfer in DMA mode
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>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/s3c-hsotg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index 8db23660b5e2..105b206cd844 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -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