USB: musb-gadget: fix DMA length for OUT transfer
Subsystems (2)
PATCH 2/2 USB: musb-gadget: fix DMA length for OUT transfer
From: Ming Lei <[email protected]>
DMA length should not go beyond the availabe space of request buffer, so fix it.
Signed-off-by Ming Lei <[email protected]>
Cc Anand Gadiyar <[email protected]>
Cc Mike Frysinger <[email protected]>
Cc Sergei Shtylyov <[email protected]>
--- drivers/usb/musb/musb_gadget.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/usb/musb/musb_gadget.c +3 -2
@@ -662,10 +662,11 @@ static void rxstate(struct musb *musb, struct musb_request *req)if (request->actual < request->length) {int transfer_size =0 ;#ifdef USE_MODE1 - transfer_size =min (request->length, + transfer_size =min (request->length - request->actual, channel->max_len);#else - transfer_size = len; + transfer_size =min (request->length - request->actual, + len);#endif if (transfer_size <= musb_ep->packet_sz) musb_ep->dma->desired_mode =0 ;
Signature · 1 line
1.6.2.5
Quoted 10 lines · [email protected] wrote:
From: Ming Lei <[email protected]>
DMA length should not go beyond the availabe space of request buffer, so fix it.
Signed-off-by Ming Lei <[email protected]>Cc Anand Gadiyar <[email protected]>Cc Mike Frysinger <[email protected]>Cc Sergei Shtylyov <[email protected]>
There's a small typo in the description.
But for the patch itself,
Acked-by Anand Gadiyar <[email protected]>
Quoted 26 lines
--- drivers/usb/musb/musb_gadget.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)drivers/usb/musb/musb_gadget.c +3
-2@@ -662,10 +662,11 @@ static void rxstate(struct musb *musb, struct musb_request *req)if (request->actual < request->length) {int transfer_size =0 ;#ifdef USE_MODE1 - transfer_size =min (request->length, + transfer_size =min (request->length - request->actual, channel->max_len);#else - transfer_size = len; + transfer_size =min (request->length - request->actual, + len);#endif if (transfer_size <= musb_ep->packet_sz) musb_ep->dma->desired_mode =0 ;Signature · 1 line
1.6.2.5