lkml.org 
[lkml]   [2010]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RESEND/PATCH 4/6] USB: musb-gadget: fix DMA length for OUT transfer
    Date
    From: Ming Lei <tom.leiming@gmail.com>

    DMA length should not go beyond the availabe space of request buffer,
    so fix it.

    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    Acked-by: Anand Gadiyar <gadiyar@ti.com>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Cc: Felipe Balbi <me@felipebalbi.com>
    Cc: Anand Gadiyar <gadiyar@ti.com>
    Cc: Mike Frysinger <vapier@gentoo.org>
    Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    ---
    drivers/usb/musb/musb_gadget.c | 5 +++--
    1 files changed, 3 insertions(+), 2 deletions(-)

    diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
    index 176e127..f3ee04f 100644
    --- a/drivers/usb/musb/musb_gadget.c
    +++ b/drivers/usb/musb/musb_gadget.c
    @@ -659,10 +659,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,
    + (unsigned)len);
    #endif
    if (transfer_size <= musb_ep->packet_sz)
    musb_ep->dma->desired_mode = 0;
    --
    1.6.2.5


    \
     
     \ /
      Last update: 2010-09-07 17:27    [W:0.020 / U:29.816 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site