Date: Thu, 20 Mar 2008 16:19:26 +0000 (UTC) From: Sam Leffler <sam@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/usb ehci.c ohci.c Message-ID: <200803201619.m2KGJQr7033985@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
sam 2008-03-20 16:19:25 UTC
FreeBSD src repository
Modified files:
sys/dev/usb ehci.c ohci.c
Log:
Workaround design botch in usb: blindly mixing bus_dma with PIO does not
work on architectures with a write-back cache as the PIO writes end up
in the cache which the sync(BUS_DMASYNC_POSTREAD) in usb_transfer_complete
then discards; compensate in the xfer methods that do PIO by pushing the
writes out of the cache before usb_transfer_complete is called.
This fixes USB on xscale and likely other places.
Sponsored by: hobnob
Reviewed by: cognet, imp
MFC after: 1 month
Revision Changes Path
1.62 +16 -0 src/sys/dev/usb/ehci.c
1.171 +16 -0 src/sys/dev/usb/ohci.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803201619.m2KGJQr7033985>
