Date: Sat, 8 Nov 2008 10:23:09 +0100 From: Hans Petter Selasky <hselasky@freebsd.org> To: freebsd-usb@freebsd.org Cc: freebsd-current@freebsd.org Subject: Serious busdma bug in -current in relation to USB harware. Message-ID: <200811081023.10058.hselasky@freebsd.org> In-Reply-To: <20081108001128.GA1437@icarus.home.lan> References: <20081107082740.GA1334@icarus.home.lan> <200811071811.27181.hselasky@c2i.net> <20081108001128.GA1437@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, The virtual offset must be retained on bounce pages. Else the EHCI and OHCI will misplace the data! It has nothing to do with my new USB stack. That is the way the USB DMA engine works. It expects that when the end of the page is reached the next page begins. Moving a partially a page to the beginning of a page gets the USB DMA engine out of sync, and it will actually fill data into the remaining part of the first page, if the transfer length is greater than the partial page part. I've made a fix in P4 for I386. Can someone propagate this patch to the other platforms and have it committed to -current ASAP? http://perforce.freebsd.org/chv.cgi?CH=152649 --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811081023.10058.hselasky>