25 Mar, 2011

1 commit

  • It's a big no-no to use pgprot_noncached() when mmap'ing such buffers
    into userspace since they are mapped cachable in kernel space.

    This can cause all sort of interesting things ranging from to garbled
    sound to lockups on various architectures. I've observed that usb-audio
    is broken on powerpc 4xx for example because of that.

    Also remove the now unused snd_pcm_lib_mmap_noncached(). It's
    an arch business to know when to use uncached mappings, there's
    already hacks for MIPS inside snd_pcm_default_mmap() and other
    archs are supposed to use dma_mmap_coherent().

    (See my separate patch that adds dma_mmap_coherent() to powerpc)

    Signed-off-by: Benjamin Herrenschmidt
    CC:
    Signed-off-by: Takashi Iwai

    Benjamin Herrenschmidt
     

24 Mar, 2011

5 commits

  • The commit 5a8cfb4e8ae317d283f84122ed20faa069c5e0c4
    ALSA: hda - Use ALC_INIT_DEFAULT for really default initialization
    changed to use the default initialization method for ALC889, but
    this caused a regression on SPDIF output on some machines.
    This seems due to the COEF setup included in the default init procedure.
    For making SPDIF working again, the COEF-setup has to be avoided for
    the id 0889.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=24342
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Signed-off-by: Keith A. Milner
    Signed-off-by: Takashi Iwai

    Keith A. Milner
     
  • Add a quirk for the Cakewalk UM-1G USB MIDI interface in
    "advanced driver" mode. (It already works in standard mode.)

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • User-controllable indexes for voice and channel values may cause reading
    and writing beyond the bounds of their respective arrays, leading to
    potentially exploitable memory corruption. Validate these indexes.

    Signed-off-by: Dan Rosenberg
    Cc: stable@kernel.org
    Signed-off-by: Takashi Iwai

    Dan Rosenberg
     
  • Was: [PATCH] sound/oss/midi_synth: prevent underflow, use of
    uninitialized value, and signedness issue

    The offset passed to midi_synth_load_patch() can be essentially
    arbitrary. If it's greater than the header length, this will result in
    a copy_from_user(dst, src, negative_val). While this will just return
    -EFAULT on x86, on other architectures this may cause memory corruption.
    Additionally, the length field of the sysex_info structure may not be
    initialized prior to its use. Finally, a signed comparison may result
    in an unintentionally large loop.

    On suggestion by Takashi Iwai, version two removes the offset argument
    from the load_patch callbacks entirely, which also resolves similar
    issues in opl3. Compile tested only.

    v3 adjusts comments and hopefully gets copy offsets right.

    Signed-off-by: Dan Rosenberg
    Signed-off-by: Takashi Iwai

    Dan Rosenberg
     

23 Mar, 2011

3 commits


22 Mar, 2011

7 commits


21 Mar, 2011

2 commits


18 Mar, 2011

6 commits


17 Mar, 2011

3 commits


16 Mar, 2011

3 commits


15 Mar, 2011

4 commits

  • Add an AMDTP stream error state that occurs when we fail to queue
    another packet. In this case, the stream is stopped, and the error can
    be reported when the application tries to restart the PCM stream.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • For correct cache coherency on some architectures, DMA buffers must be
    allocated in a different cache line than data that is concurrently used
    by the CPU.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • In non-blocking mode, the SYT_INTERVAL is larger than the number of
    audio frames in each packet, so there are packets that do not contain
    any frame to which the SYT could be applied. For these packets, the
    SYT must not be the timestamp of the next valid SYT frame, but the
    special no-info SYT value.

    This fixes broken playback on the FireWave at 44.1 kHz.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • Add a driver for two playback-only FireWire devices based on the OXFW970
    chip.

    v2: better AMDTP API abstraction; fix fw_unit leak; small fixes
    v3: cache the iPCR value
    v4: FireWave constraints; fix fw_device reference counting;
    fix PCR caching; small changes and fixes
    v5: volume/mute support; fix crashing due to pcm stop races
    v6: fix build; one-channel volume for LaCie
    v7: use signed values to make volume (range checks) work; fix function
    block IDs for volume/mute; always use channel 0 for LaCie volume

    Signed-off-by: Clemens Ladisch
    Acked-by: Stefan Richter
    Tested-by: Jay Fenlason
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

14 Mar, 2011

6 commits