]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
usb: musb: gadget: don't program dma for zero byte tx
authorAjay Kumar Gupta <ajay.gupta@ti.com>
Fri, 20 Jul 2012 05:37:23 +0000 (11:07 +0530)
committerFelipe Balbi <balbi@ti.com>
Fri, 3 Aug 2012 06:34:40 +0000 (09:34 +0300)
This is to reduce the overhead of dma programming for zero byte
transmit as same can be done using pio mode.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_gadget.c

index 49d7bee7dbdea18a6b4d7c3d5d1688b75be6498e..8d2cce106f0476456001995a6c03fca3020d7f83 100644 (file)
@@ -373,7 +373,7 @@ static void txstate(struct musb *musb, struct musb_request *req)
                request_size = min_t(size_t, request->length - request->actual,
                                        musb_ep->dma->max_len);
 
-               use_dma = (request->dma != DMA_ADDR_INVALID);
+               use_dma = (request->dma != DMA_ADDR_INVALID && request_size);
 
                /* MUSB_TXCSR_P_ISO is still set correctly */