1. 06 9月, 2012 2 次提交
    • T
      ALSA: usb-audio: Fix bogus error messages for delay accounting · 1213a205
      Takashi Iwai 提交于
      The recent fix for the missing fine delayed time adjustment gives
      strange error messages at each start of the playback stream, such as
        delay: estimated 0, actual 352
        delay: estimated 353, actual 705
      
      These come from the sanity check in retire_playback_urb().  Before the
      stream is activated via start_endpoints(), a few silent packets have
      been already sent.  And at this point the delay account is still in
      the state as if the new packets are just queued, so the driver gets
      confused and spews the bogus error messages.
      
      For fixing the issue, we just need to check whether the received
      packet is valid, whether it's zero sized or not.
      Reported-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: <stable@vger.kernel.org> [v3.5+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1213a205
    • T
      ALSA: hda - Fix missing Master volume for STAC9200/925x · ab548d2d
      Takashi Iwai 提交于
      With the commit [2faa3bf1: ALSA: hda - Rewrite the mute-LED hook with
      vmaster hook in patch_sigmatel.c], the former Master volume control
      was converted to PCM.  This was supposed to be covered by the vmaster
      control.  But due to the lack of "PCM" slave definition, this didn't
      happen properly.  The patch fixes the missing entry.
      Reported-by: NAndrew Shadura <bugzilla@tut.by>
      Cc: <stable@vger.kernel.org> [v3.4+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ab548d2d
  2. 01 9月, 2012 4 次提交
    • D
      ALSA: snd-usb: fix cross-interface streaming devices · 2e4a263c
      Daniel Mack 提交于
      Commit 68e67f40 ("ALSA: snd-usb: move calls to usb_set_interface")
      saved us some unnecessary calls to snd_usb_set_interface() but ignored
      the fact that there is at least one device out there which operates on
      two endpoint in different interfaces simultaniously.
      
      Take care for this by catching the case where data and sync endpoints
      are located on different interfaces and calling snd_usb_set_interface()
      between the start of the two endpoints.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Reported-by: NRobert M. Albrecht <linux@romal.de>
      Cc: stable@kernel.org [v3.5+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2e4a263c
    • D
      ALSA: snd-usb: fix calls to next_packet_size · 245baf98
      Daniel Mack 提交于
      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: NDaniel Mack <zonque@gmail.com>
      Cc: stable@kernel.org [v3.5+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      245baf98
    • D
      ALSA: snd-usb: restore delay information · fbcfbf5f
      Daniel Mack 提交于
      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: NDaniel Mack <zonque@gmail.com>
      Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Cc: stable@kernel.org [3.5+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fbcfbf5f
    • P
      ALSA: snd-usb: use list_for_each_safe for endpoint resources · 03d2f44e
      Pavel Roskin 提交于
      snd_usb_endpoint_free() frees the structure that contains its argument.
      Signed-off-by: NPavel Roskin <proski@gnu.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      03d2f44e
  3. 30 8月, 2012 1 次提交
    • D
      ALSA: snd-usb: Fix URB cancellation at stream start · 015618b9
      Daniel Mack 提交于
      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: NDaniel Mack <zonque@gmail.com>
      Cc: stable@kernel.org [3.5+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      015618b9
  4. 29 8月, 2012 2 次提交
  5. 22 8月, 2012 1 次提交
  6. 21 8月, 2012 3 次提交
  7. 20 8月, 2012 10 次提交
  8. 18 8月, 2012 3 次提交
  9. 16 8月, 2012 2 次提交
  10. 14 8月, 2012 3 次提交
  11. 13 8月, 2012 3 次提交
  12. 11 8月, 2012 1 次提交
  13. 10 8月, 2012 5 次提交