Yes, cache coherency was one of my first thoughts, and I am rather confident now that it is not the issue. I have verified that flush and invalidate of cache lines is happening at all the right times and that the buffers are all aligned to cache line or page boundaries as required. Indeed, it now looks like the entire packet data is making it to/from the bus (see previous post), but the handshaking is not happening. Again, my instincts shout 'timing' at me, but even with this snazzy new USB sniffer, I am unable to tell. As I understand it, the coldfire USB module is generating SOF packets automatically, and processing of the queues is pretty much all done by the hardware also, so I'm at something of a loss as to what to tweak.