summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCliff Cai <cliff.cai@analog.com>2009-12-21 21:18:02 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2009-12-23 11:34:18 -0800
commit796a83fa039de50133171221ac102a2310e81ffd (patch)
treef34ef2ed674f3b9b5dcf65fbb901aa975e5df935
parent17be5c5f5ef99c94374e07f71effa78e93a20eda (diff)
USB: musb: correct DMA address for tx
Since a DMA transfer may need to be kicked off several times to complete, the DMA start must include the length that has already been transferred. Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Cc: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/musb/musb_gadget.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
index e164999bd364..ac306985a8a1 100644
--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -319,7 +319,7 @@ static void txstate(struct musb *musb, struct musb_request *req)
use_dma = use_dma && c->channel_program(
musb_ep->dma, musb_ep->packet_sz,
musb_ep->dma->desired_mode,
- request->dma, request_size);
+ request->dma + request->actual, request_size);
if (use_dma) {
if (musb_ep->dma->desired_mode == 0) {
/*