On Monday 27 November 2006 6:51 am, Alan Stern wrote: > On Sun, 26 Nov 2006, David Brownell wrote:
> > The question still remains: how could this corruption happen? > > ... > > They share the same cache line as parts of the buffer. As a result the > cache line gets filled again, possibly before the DMA has taken place. > Now the cache is full but it doesn't have the data sent by the device. > When the input operation finishes, the CPU won't see the correct data in > the buffer -- it will see the stale data in the cache. If the CPU does a > write to the struct it could even overwrite the correct data with the > stale cached data. That's how it could work if that code were enabled. But also notice how the *only* reference that could possibly work like that is also preceded by the FIXME which explains why all of that code is disabled, and tells what the real fix should be. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel