cvs commit: src/sys/dev/sound/pci maestro.c

Erwin Lansing 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 
>   Log:
>   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

-- 
                    _._     _,-'""`-._
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
Type: application/pgp-signature
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 mailing list