summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorAnton Tikhomirov <av.tikhomirov@samsung.com>2012-03-06 06:08:29 +0100
committerFelipe Balbi <balbi@ti.com>2012-04-10 18:11:45 +0200
commit70fa030ffb652ace81dd5bcab01255b49723caec (patch)
tree5ed20b7480f31519e2bdd74943c0706aa3c43e36 /drivers/usb
parentusb: s3c-hsotg: Fix maximum patcket size setting for EP0 (diff)
downloadlinux-70fa030ffb652ace81dd5bcab01255b49723caec.tar.xz
linux-70fa030ffb652ace81dd5bcab01255b49723caec.zip
usb: s3c-hsotg: Avoid TxFIFO corruption in DMA mode
Writing to TxFIFO relates only to Slave mode and leads to TxFIFO corruption in DMA mode. 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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index 03de169ab365..8db23660b5e2 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -1921,7 +1921,8 @@ static void s3c_hsotg_epint(struct s3c_hsotg *hsotg, unsigned int idx,
ints & S3C_DIEPMSK_TxFIFOEmpty) {
dev_dbg(hsotg->dev, "%s: ep%d: TxFIFOEmpty\n",
__func__, idx);
- s3c_hsotg_trytx(hsotg, hs_ep);
+ if (!using_dma(hsotg))
+ s3c_hsotg_trytx(hsotg, hs_ep);
}
}
}