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