>> 1. I see dma_cache_maint is called by usb_submit_urb before starting >> data transfer, >It is? Where? In drivers/usb/core/hcd.c, usb_hcd_submit_urb -> map_urb_for_dma -> dma_map_single -> dma_cache_maint. dma_map_single is defined in arch/arm/include/asm/dma-mapping.h This is called when we submit urb, for OUT data, I think it's sufficient for cache consistency. But what I need to know is how we guarantee the cache consistency for IN data, because the DMA is going to update the physical memory when receiving data from device, something has to be done upon completion of the urb. Regards, Fei -- 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