cvs commit: src/sys/dev/sound/pcm dsp.c sound.c

Alexander Leidinger netchild at FreeBSD.org
Mon Sep 12 11:33:34 PDT 2005


netchild    2005-09-12 18:33:34 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/sound/pcm    dsp.c sound.c 
  Log:
  - Fix the locking in dsp.c to prevent a LOR (AFAIK not on the LOR page).
  
  - Remove an assertion in sound.c, it's not needed (and causes a panic now).
    From the conversation via mail between glebius and Ariff:
    ---snip---
    > Well, but which mutex protects now? Do we own anything else
    > in pcm_chnalloc()? I see some queue(4) macros in pcm_chnalloc(),
    > they should be protected, shouldn't they?
    Queue insertion/removal occur during
       1) driver loading (which is pretty much single thread /
          sequential) or unloading (mutex protected, bail out if there is
          any channel with refcount > 0 or busy).
       2) vchan_create()/destroy(), (which is *sigh* quite complicated), but
          somehow protected by 'master'/parent channel mutex. Other
          thread cannot add/remove vchan (or even continue traversing
          that queue) unless it can acquire parent channel mutex.
  ---snip---
  
  Fix the locking in dsp.c to prevent a LOR (AFAIK not on the LOR page).
  
  Submitted by:   Ariff Abdullah <skywizard at MyBSD.org.my>
  Tested with:    INVARIANTS[1] and DIAGNOSTICS[2]
  Tested by:      netchild [1,2], David Reid <david at jetnet.co.uk> [1]
  
  Revision  Changes    Path
  1.84      +3 -3      src/sys/dev/sound/pcm/dsp.c
  1.96      +0 -2      src/sys/dev/sound/pcm/sound.c


More information about the cvs-src mailing list