Skip to content
  1. Sep 01, 2012
    • Daniel Mack's avatar
      ALSA: snd-usb: fix calls to next_packet_size · 245baf98
      Daniel Mack authored
      
      
      In order to support devices with implicit feedback streaming models,
      packet sizes are now stored with each individual urb, and the PCM
      handling code which fills the buffers purely relies on the size fields
      now.
      
      However, calling snd_usb_audio_next_packet_size() for all possible
      packets in an URB at once, prior to letting the PCM code do its job
      does in fact not lead to the same behaviour than what the old code did:
      The PCM code will break its loop once a period boundary is reached,
      consequently using up less packets that it really could.
      
      As snd_usb_audio_next_packet_size() implements a feedback mechanism to
      the endpoints phase accumulator, the number of calls to that function
      matters, and when called too often, the data rate runs out of bounds.
      
      Fix this by making the next_packet function public, and call it from the
      PCM code as before if the packet data sizes are not defined.
      
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Cc: stable@kernel.org [v3.5+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      245baf98
    • Daniel Mack's avatar
      ALSA: snd-usb: restore delay information · fbcfbf5f
      Daniel Mack authored
      Parts of commit 294c4fb8
      
       ("ALSA: usb: refine delay information with USB
      frame counter") were unfortunately lost during the refactoring of the
      snd-usb driver in 3.5.
      
      This patch adds them back, restoring the correct delay information
      behaviour.
      
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Cc: stable@kernel.org [3.5+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fbcfbf5f
    • Pavel Roskin's avatar
      ALSA: snd-usb: use list_for_each_safe for endpoint resources · 03d2f44e
      Pavel Roskin authored
      
      
      snd_usb_endpoint_free() frees the structure that contains its argument.
      
      Signed-off-by: default avatarPavel Roskin <proski@gnu.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      03d2f44e
  2. Aug 30, 2012
    • Daniel Mack's avatar
      ALSA: snd-usb: Fix URB cancellation at stream start · 015618b9
      Daniel Mack authored
      Commit e9ba389c
      
       ("ALSA: usb-audio: Fix scheduling-while-atomic bug in
      PCM capture stream") fixed a scheduling-while-atomic bug that happened
      when snd_usb_endpoint_start was called from the trigger callback, which
      is an atmic context. However, the patch breaks the idea of the endpoints
      reference counting, which is the reason why the driver has been
      refactored lately.
      
      Revert that commit and let snd_usb_endpoint_start() take care of the URB
      cancellation again. As this function is called from both atomic and
      non-atomic context, add a flag to denote whether the function may sleep.
      
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Cc: stable@kernel.org [3.5+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      015618b9
  3. Aug 29, 2012
  4. Aug 22, 2012
  5. Aug 21, 2012
  6. Aug 20, 2012
  7. Aug 18, 2012
  8. Aug 16, 2012
  9. Aug 14, 2012
  10. Aug 13, 2012
  11. Aug 11, 2012
  12. Aug 10, 2012
  13. Aug 09, 2012