[alsa-devel] [PATCH v3 00/11] ALSA: usb-audio: fix playback/capture concurrent usage

Eldad Zack eldad at fogrefinery.com
Sun Aug 25 17:43:08 CEST 2013


This patch series attempts to fix a long standing problem with the concurrent
usage of playback and capture on implicit feedback devices.

Applies against current for-next (HEAD 68538bf2bce557c3b5fe8c59b034d45352500db1 ).


 * Changed "altset_idx" to "altsetting" thanks to Clemens' clarification.

 #3: Thanks to Daniel's test, fixed a NULL dereference caused by userspace calling
     snd_pcm_open() and then snd_pcm_close() immediately.
 #8: subs->altset_idx was left intact, since it corresponds to the array index.
 #10: this patch now removed subs->altset_idx, but also changes the check to be
      performed against fmt->altsetting.
 #11: New. This changes the name of snd_usb_endpoint member alt_idx to altsetting
      for the same reason Clemens described.

Clemens and Daniel - thank you very much for your help!


Eldad Zack (11):
  ALSA: usb-audio: remove unused parameter from sync_ep_set_params
  ALSA: usb-audio: remove deactivate_endpoints()
  ALSA: usb-audio: prevent NULL dereference on stop trigger
  ALSA: usb-audio: don't deactivate URBs on in-use EP
  ALSA: usb-audio: void return type of snd_usb_endpoint_deactivate()
  ALSA: usb-audio: clear SUBSTREAM_FLAG_SYNC_EP_STARTED on error
  ALSA: usb-audio: correct ep use_count semantics (add set_param flag)
  ALSA: usb-audio: conditional interface altsetting
  ALSA: usb-audio: conditional concurrent usage of endpoint
  ALSA: usb-audio: remove altset_idx from snd_usb_substream
  ALSA: usb-audio: rename alt_idx to altsetting

 sound/usb/card.h     |   4 +-
 sound/usb/endpoint.c |  82 ++++++++++++++++++-------
 sound/usb/endpoint.h |  11 +++-
 sound/usb/pcm.c      | 168 ++++++++++++++++++++++++++++++++++++++-------------
 sound/usb/pcm.h      |   2 +
 sound/usb/proc.c     |   4 +-
 6 files changed, 201 insertions(+), 70 deletions(-)


More information about the Alsa-devel mailing list