On 08/12/2014 09:13 PM, Bin Liu wrote:

CPPI TX does not transmit ZLP for TX transfers which
- transfer size is multiple of EP packet size,
- and URB_ZERO_PACKET is set in urb->transfer_flags.

The fix is transmitting the ZLP using PIO mode after the CPPI TX is
done.

Validated using the following usbtest write case for MUSB host mode.

    # testusb -t1 -c1

Signed-off-by: Bin Liu <[email protected]>
---
   drivers/usb/musb/musb_cppi41.c | 15 +++++++++++++--
   1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/musb/musb_cppi41.c
b/drivers/usb/musb/musb_cppi41.c
index 5989def..e9a0e54 100644
--- a/drivers/usb/musb/musb_cppi41.c
+++ b/drivers/usb/musb/musb_cppi41.c
@@ -39,6 +39,7 @@ struct cppi41_dma_channel {
         u32 transferred;
         u32 packet_sz;
         struct list_head tx_check;
+       u32 tx_zlp;

    Why not *bool"?

Will fix it. I am not used to use 'bool', so...

OK, but you sure know *int* which would also have been more appropriate here? :-)

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to