cvs commit: src/sys/dev/sound/usb uaudio.c uaudio.h uaudio_pcm.c

Ariff Abdullah ariff at
Fri Mar 16 17:19:04 UTC 2007

ariff       2007-03-16 17:19:04 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/sound/usb    uaudio.c uaudio.h uaudio_pcm.c 
  [stage: 9/9]
  - SWAPLR quirk for (unknown, luckily it is mine) broken uaudio stick.
    Fixing by rewiring is impossible without damaging it. Luckily,
    we can fix it using "other" methods :) .
  - Add uaudio_get_vendor(), _product() and _release() in uaudio.c
    (currently used by uaudio_pcm quirk).
  - Drop channel locking in few places where it is about to sleep
    somewhere. This should help eliminating illegal locking acquisition
    where the current thread is about to sleep, and also few deadlock
    cases. Dropping it right here is quite safe since it is already
    protected by CHN_F_BUSY flag and other threads won't bother to touch it.
    Solving other illegal locking issues are quite tricky without converting
    most usbd_do_request() calls to its equivalent _async() calls,
    which I intend to do it later after getting full test report from
    other people with different uaudio hardwares.
  - Fix memory leak issues during detach. This seems common to any drivers
    (notably emu10kx, csapcm?) with bridge functions.
  Revision  Changes    Path
  1.26      +86 -6     src/sys/dev/sound/usb/uaudio.c
  1.8       +3 -0      src/sys/dev/sound/usb/uaudio.h
  1.21      +71 -8     src/sys/dev/sound/usb/uaudio_pcm.c

More information about the cvs-src mailing list