Hi, On Wed, Sep 15, 2010 at 05:53:10AM -0500, Ming Lei wrote:
1), why is the check for "is_dma" needed here? if (is_dma || request->actual == request->length) { .... }
if you programmed dma to request->length (and assuming it worked just fine) mode1 will only interrupt you when the entire request has been sent.
2), why is a zlp needed in the case below? #ifdef CONFIG_USB_INVENTRA_DMA || (is_dma && (!dma->desired_mode || (request->actual & (musb_ep->packet_sz - 1)))) #endif
in that case, it's not a zlp, it's short packet. Inventra will *NOT* transfer short packets, you need to set txpktrdy by hand to get it transfered.
IMO, it is not difficult to give a good fix for the ZLP problem if the two questions are clear.
true, but some re-work needs to be done. -- balbi -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html