On Wed, Mar 30, 2011 at 10:48:54PM -0400, Mike Frysinger wrote: > DMA mode 1 data corruption anomaly on Blackfin systems. This issue is > specific to the Blackfin silicon as the bug appears to be related to the > connection of the musb ip to the bus/dma fabric. > > Data corruption when using USB DMA mode 1. (Issue manager 17-01-0105) > DMA mode 1 allows large size transfers to generate a single interrupt > at the end of the entire transfer. The transfer is split up in packets > of length specified in the Maximum Packet Size field for that endpoint. > If the transfer size is not an integer multiple of the Maximum Packet > Size, a short packet will be present at the end of the transfer. > > Under certain conditions this packet may be corrupted in the USB FIFO. > > Workaround: > Use DMA mode 1 to transfer (n* Maximum Packet Size) and schedule DMA > mode 0 to transfer the short packet. > > As an example if your transfer size is 33168 bytes and Maximum Packet > Size equals 512, schedule [33168 - (33168 mod 512)] in DMA mode 1 and > the remainder (33168 mod 512) in DMA mode 0. > > Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> applied, thanks -- balbi -- 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