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

Brian Feldman green at FreeBSD.org
Sun Aug 22 11:57:41 PDT 2004


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>
  
  Revision  Changes    Path
  1.24      +15 -21    src/sys/dev/sound/pci/maestro.c


More information about the cvs-all mailing list