cvs commit: src/sys/dev/sound/pci maestro.c
erwin at FreeBSD.org
Sun Aug 22 12:02:46 PDT 2004
On Sun, Aug 22, 2004 at 06:57:41PM +0000, Brian Feldman wrote:
> green 2004-08-22 18:57:41 UTC
> FreeBSD src repository
> Modified files:
> sys/dev/sound/pci maestro.c
> The new contigmalloc code is exposing a lot of misuses of busdma memory
> allocation. Notably, in this case, the driver tries to allocate several
> pieces of memory and then fails if the pieces allocated after the first
> do not come after it physically, and within a specific range (8MB I
> believe). Of course, this could just as easily fail for any number of
> reasons, but it almost always fails now that contiguous allocations start
> at the end of possible specified memory locations rather than the beginning.
> Allocate all the possibly-needed memory up front, even though it's a waste,
> to get around this. The least bogus solution would be to take the physical
> address from the first allocation and create a new tag that specified that
> further allocations must follow it within that 8MB window, then use that
> when allocating new channels, but that's left for anyone else that really
> feels like doing it.
> Tested by: Erwin Lansing <erwin at lansing.dk>
Thanks for looking into this so quickly!
This probably should also go into 5.3.
Erwin Lansing (,-.`._,'( |\`-/| erwin at lansing.dk
http://droso.org `-.-' \ )-`( , o o) erwin at FreeBSD.org
-bf- `- \`_`"'-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20040822/539386c9/attachment.bin
More information about the cvs-all