Re: [patch-2.6.36+ 06/12] usb: musb: gadget: fix dma length in txstate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2010/9/16 Sergei Shtylyov <sshtylyov@xxxxxxxxxx>:
> Hello.
>
> On 16-09-2010 10:56, Felipe Balbi wrote:
>
>> From: Ming Lei<tom.leiming@xxxxxxxxx>
>
>> DMA length should not go beyond the availabe space of request buffer,
>> so fix it.
>
>> Signed-off-by: Ming Lei<tom.leiming@xxxxxxxxx>
>> Cc: David Brownell<dbrownell@xxxxxxxxxxxxxxxxxxxxx>
>> Cc: Anand Gadiyar<gadiyar@xxxxxx>
>> Cc: Mike Frysinger<vapier@xxxxxxxxxx>
>> Cc: Sergei Shtylyov<sshtylyov@xxxxxxxxxxxxx>
>> Signed-off-by: Felipe Balbi<balbi@xxxxxx>
>
> [...]
>>
>> diff --git a/drivers/usb/musb/musb_gadget.c
>> b/drivers/usb/musb/musb_gadget.c
>> index fa826f9..cacae96 100644
>> --- a/drivers/usb/musb/musb_gadget.c
>> +++ b/drivers/usb/musb/musb_gadget.c
>> @@ -300,6 +300,11 @@ static void txstate(struct musb *musb, struct
>> musb_request *req)
>>  #ifndef       CONFIG_MUSB_PIO_ONLY
>>        if (is_dma_capable()&&  musb_ep->dma) {
>>                struct dma_controller   *c = musb->dma_controller;
>> +               size_t request_size;
>> +
>> +               /* setup DMA, then program endpoint CSR */
>> +               request_size = min_t(size_t, request->length -
>> request->actual,
>> +                                       musb_ep->dma->max_len);
>
>   I protest -- this breaks the CPPI case; request_size will always be 0.

Since we have defined max_len in dma_channel, why does not CPPI set it?

It is surely that we should fix it in CPPI dma code, isn't it?


-- 
Lei Ming
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux