Browse Source

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>
Cliff Cai 15 years ago
parent
commit
796a83fa03
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/usb/musb/musb_gadget.c

+ 1 - 1
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) {
 					/*