Workaround for USB DMA bugs

David Gibson david at gibson.dropbear.id.au
Thu Apr 4 09:34:10 EST 2002


On Wed, Apr 03, 2002 at 12:43:01PM -0800, David Blythe wrote:
>
> What he said!  We ended up making all of the changes to move buffers,
> align them, etc for both USB and skbuffs, as well as fixing the overly
> aggressive prefetches in memcpy that overlapped previously
> cache-invalidated memory, etc.  The end result is an ugly set of
> changes, but at least the board works reliably now.  We also found one
> nasty problem with an Epson USB printer where after request buffers were
> bloated to cache line aligned length and the bloated length passed to
> the device, that the device doesn't like the bloated length.  So we
> hacked up the control path a little to get at the original length  too.
>  This sort of stuff is a real pain to fix correctly to deal nicely with
> non-coherent systems.

That sounds closer to the correct way of fixing this.  The USB folks
do consider this a bug, and I heard murmurs that suggested this had
already been fixed in 2.5.

--
David Gibson			| For every complex problem there is a
david at gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.  -- H.L. Mencken
http://www.ozlabs.org/people/dgibson


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list