1. 29 11月, 2012 6 次提交
  2. 26 11月, 2012 1 次提交
    • T
      ALSA: usb-audio: add channel map support · 04324ccc
      Takashi Iwai 提交于
      Add the support for channel maps of the PCM streams on USB audio
      devices.  The channel map information is already found in
      ChannelConfig descriptor entries, which haven't been referred until
      now.
      
      Each chmap entry is added to audioformat list entry and copied to TLV
      dynamically instead of creating a whole chmap array.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      04324ccc
  3. 23 11月, 2012 3 次提交
  4. 21 11月, 2012 7 次提交
  5. 19 11月, 2012 1 次提交
  6. 17 11月, 2012 1 次提交
  7. 14 11月, 2012 1 次提交
    • T
      ALSA: usb-audio: Fix mutex deadlock at disconnection · 10e44239
      Takashi Iwai 提交于
      The recent change for USB-audio disconnection race fixes introduced a
      mutex deadlock again.  There is a circular dependency between
      chip->shutdown_rwsem and pcm->open_mutex, depicted like below, when a
      device is opened during the disconnection operation:
      
      A. snd_usb_audio_disconnect() ->
           card.c::register_mutex ->
             chip->shutdown_rwsem (write) ->
               snd_card_disconnect() ->
                 pcm.c::register_mutex ->
                   pcm->open_mutex
      
      B. snd_pcm_open() ->
           pcm->open_mutex ->
             snd_usb_pcm_open() ->
               chip->shutdown_rwsem (read)
      
      Since the chip->shutdown_rwsem protection in the case A is required
      only for turning on the chip->shutdown flag and it doesn't have to be
      taken for the whole operation, we can reduce its window in
      snd_usb_audio_disconnect().
      Reported-by: NJiri Slaby <jslaby@suse.cz>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      10e44239
  8. 13 11月, 2012 1 次提交
    • M
      ALSA: usb-audio: Add quirk for Focusrite Scarlett 18i6 · 1762a59d
      Martin Schwenke 提交于
      Probing this device currently fails in snd_usb_audio_probe() because
      the call to snd_usb_create_mixer() fails.  This is due to unknown or
      non-standard interface descriptor subtypes in parse_audio_unit():
      
        usbaudio: unit 51: unexpected type 0x09
        snd-usb-audio: probe of 1-8:1.0 failed with error -5
      
      Some people are working around this by recompiling usb-audio with the
      call to snd_usb_create_mixer() commented out.  It would be nice to
      avoid that.
      
      While the best idea would be to look into the mixer creation failure,
      a reasonable short-term solution is to use quirks to only probe the
      trouble-free interfaces.  This allows audio and MIDI interfaces to be
      used without any obvious issues.
      
      Interface 0 is the main one to ignore.  It contains lots of
      control-fu, including the unexpected interface descriptor subtypes.
      Interface 5 is for firmware updates and I'm not sure how to get
      support for this.  Interface 3 is some sort of control interface that
      I don't understand:
      
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        3
            bAlternateSetting       0
            bNumEndpoints           0
            bInterfaceClass         1 Audio
            bInterfaceSubClass      1 Control Device
            bInterfaceProtocol      0
            iInterface              0
            AudioControl Interface Descriptor:
              bLength                 9
              bDescriptorType        36
              bDescriptorSubtype      1 (HEADER)
              bcdADC               1.00
              wTotalLength            9
              bInCollection           1
              baInterfaceNr( 0)       1
      Signed-off-by: NMartin Schwenke <martin@meltin.net>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1762a59d
  9. 08 11月, 2012 1 次提交
  10. 30 10月, 2012 3 次提交
  11. 25 10月, 2012 1 次提交
  12. 23 10月, 2012 1 次提交
  13. 21 10月, 2012 2 次提交
  14. 09 10月, 2012 1 次提交
    • K
      mm: kill vma flag VM_RESERVED and mm->reserved_vm counter · 314e51b9
      Konstantin Khlebnikov 提交于
      A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
      currently it lost original meaning but still has some effects:
      
       | effect                 | alternative flags
      -+------------------------+---------------------------------------------
      1| account as reserved_vm | VM_IO
      2| skip in core dump      | VM_IO, VM_DONTDUMP
      3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      4| do not mlock           | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      
      This patch removes reserved_vm counter from mm_struct.  Seems like nobody
      cares about it, it does not exported into userspace directly, it only
      reduces total_vm showed in proc.
      
      Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.
      
      remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
      remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.
      
      [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      314e51b9
  15. 08 10月, 2012 1 次提交
  16. 28 9月, 2012 1 次提交
  17. 20 9月, 2012 1 次提交
  18. 19 9月, 2012 4 次提交
  19. 06 9月, 2012 1 次提交
    • 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
  20. 04 9月, 2012 1 次提交
    • D
      ALSA: snd-usb: Add quirks for Playback Designs devices · 2b58fd5b
      Daniel Mack 提交于
      Playback Designs' USB devices have some hardware limitations on their
      USB interface. In particular:
      
       - They need a 20ms delay after each class compliant request as the
         hardware ACKs the USB packets before the device is actually ready
         for the next command. Sending data immediately will result in buffer
         overflows in the hardware.
       - The devices send bogus feedback data at the start of each stream
         which confuse the feedback format auto-detection.
      
      This patch introduces a new quirks hook that is called after each
      control packet and which adds a delay for all devices that match
      Playback Designs' USB VID for now.
      
      In addition, it adds a counter to snd_usb_endpoint to drop received
      packets on the floor. Another new quirks function that is called once
      an endpoint is started initializes that counter for these devices on
      their sync endpoint.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Reported-and-tested-by: NAndreas Koch <andreas@akdesigninc.com>
      Supported-by: NDemian Martin <demianm_1@yahoo.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      2b58fd5b
  21. 03 9月, 2012 1 次提交