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
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 -
Signed-off-by: Keith A. Milner
Signed-off-by: Takashi Iwai -
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 -
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 -
Was: [PATCH] sound/oss/midi_synth: prevent underflow, use of
uninitialized value, and signedness issueThe 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
23 Mar, 2011
3 commits
-
Similar to commit 7e59e097c09b82760bb0fe08b0fa2b704d76c3f4, this patch
avoids unnecessary volume control indices for more
Realtek auto-parsers, e g the ALC66x family, on the "Surround" and "Side"
controls.
These indices cause these volume controls to be ignored by PulseAudio and
vmaster and should be removed whenever possible.Cc: stable@kernel.org
Reported-by: Jan Losinski
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
The regulator is optional depending on board design.
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood
22 Mar, 2011
7 commits
-
Since VT1708 didn't support the control of getting connection number,
building of headphone control will fail in via_hp_build() function.Signed-off-by: Lydia Wang
Cc:
Signed-off-by: Takashi Iwai -
Correct stream names of analog playback and capture streams
for VT1818S.Signed-off-by: Lydia Wang
Signed-off-by: Takashi Iwai -
Add get_codec_type() in via_new_spec() function to make sure getting
correct codec type before building mixer controls.Signed-off-by: Lydia Wang
Cc:
Signed-off-by: Takashi Iwai -
Modify vt_auto_create_analog_input_ctls() function to fix invalid a-a path
volume adjust issue for VT1708S, VT1702 and VT1716S codecs.Signed-off-by: Lydia Wang
Cc:
Signed-off-by: Takashi Iwai -
Modify mute_aa_path() function to support VT1718S codec.
Signed-off-by: Lydia Wang
Cc:
Signed-off-by: Takashi Iwai -
Modify via_independent_hp_put() function to support VT1718S and VT1812
codecs, and fix independent headphone no sound issue.Signed-off-by: Lydia Wang
Cc:
Signed-off-by: Takashi Iwai -
Modify function via_mux_enum_put() to fix stereo mixer recording
no sound issue.Signed-off-by: Lydia Wang
Cc:
Signed-off-by: Takashi Iwai
21 Mar, 2011
2 commits
-
Set EAPD for Realtek ALC665 (Vendor Id: 0x10eSet EAPD for Realtek
ALC665 (Vendor Id: 0x10ec0665).Signed-off-by: Andres Mejia
Signed-off-by: Takashi Iwai -
Some USB devices give trailing spaces in strings returned from
usb_string(). This confuses the automatic card-id creation, resulting
always in "default".
This patch fixes the behavior by removing trailing spaces.Signed-off-by: Takashi Iwai
18 Mar, 2011
6 commits
-
Convert direct read of inode->i_size to using i_size_read().
i_size_read is guaranteed to return a valid value and
its caller does not need to use addtional locking.Signed-off-by: Xiaochen Wang
Signed-off-by: Takashi Iwai -
Since not all registers need to be cached and the cache is entirely
optional anyway we shouldn't be checking that a register is in the
cached range. If the register is invalid then the actual I/O code
can determine that and report an error.Similarly, the step size can and should be enforced by the lower level
code if it's important.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
…/sound-2.6 into for-2.6.39
-
The user-supplied index into the adapters array needs to be checked, or
an out-of-bounds kernel pointer could be accessed and used, leading to
potentially exploitable memory corruption.Signed-off-by: Dan Rosenberg
Cc:
Signed-off-by: Takashi Iwai -
loopback_pos_update() can be called in the timer callback, thus the lock
held should be irq-safe. Otherwise you'll get AB/BA deadlock together
with substream->self_group.lock.Reported-and-tested-by: Knut Petersen
Cc:
Signed-off-by: Takashi Iwai
17 Mar, 2011
3 commits
-
Merge list_del() + list_add_tail() to list_move_tail().
Signed-off-by: Nicolas Kaiser
Signed-off-by: Takashi Iwai
16 Mar, 2011
3 commits
-
…soc-2.6 into topic/asoc
-
Signed-off-by: Kirill A. Shutemov
Signed-off-by: Takashi Iwai -
fixes this error:
sound/firewire/fcp.c: In function 'fcp_avc_transaction':
sound/firewire/fcp.c:103: error: implicit declaration of function 'msleep'Signed-off-by: Stephen Rothwell
Signed-off-by: Takashi Iwai
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 -
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 -
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 -
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 volumeSigned-off-by: Clemens Ladisch
Acked-by: Stefan Richter
Tested-by: Jay Fenlason
Signed-off-by: Takashi Iwai
14 Mar, 2011
6 commits
-
Signed-off-by: Takashi Iwai
-
This patch replaces use of the harcoded arrays of pins, muxes, digital
mics and adcs with the auto-generated ones using codec parsing and
auto-discovers all actually connected digital mic pins on 92HD8X-like
codecsThis patch also adds the support for d-mic on pin 0x20.
Signed-off-by: Vitaliy Kulikov
Signed-off-by: Takashi Iwai -
When the mux for digital mic is different from the mux for other mics,
the current auto-parser doesn't handle them in a right way but provides
only one mic. This patch fixes the issue.Signed-off-by: Vitaliy Kulikov
Cc:
Signed-off-by: Takashi Iwai -
Move the default input-src selection code for alc268/269 to the init
part instead of the parser. The input-src selection might be overwritten
by init verbs.Signed-off-by: Takashi Iwai
-
Currently some special handling for the unusual case like dual-ADCs
or a single-input-src is done in the tree-parse time in
set_capture_mixer(). But this setup could be overwritten by static
init verbs.This patch moves the initialization into the init phase so that
such input-src setup won't be lost.Cc:
Signed-off-by: Takashi Iwai -
Clear input settings before initialization.
Signed-off-by: Przemyslaw Bruski
Cc:
Signed-off-by: Takashi Iwai