17 Aug, 2009
4 commits
-
Ensure that userspace can remove only user controls. Controls created
by kernel drivers must not be removed because they might be referenced
in calls to snd_ctl_notify().Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Move the decrementing of the user controls counter from
snd_ctl_elem_remove to snd_ctl_remove_unlocked_id; this saves the
separate locking of the controls semaphore, and therefore removes
a harmless race.Since the purpose of the function is to operate on user controls (the
control being unlocked is just a prerequisite), rename it to
snd_ctl_remove_user_ctl.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Use a common exit path to release the mutex and to return a possible
error.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Make sure that no user element that has no values can be added.
The check for count>1024 is not needed because the count is checked
later for the individual control types.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
12 Aug, 2009
2 commits
-
* fix/hda:
ALSA: hda - Don't override ADC definitions for ALC codecs
ALSA: hda - Add missing vmaster initialization for ALC269 -
* fix/asoc:
ASoC: Add missing DRV_NAME definitions for fsl/* drivers
11 Aug, 2009
1 commit
-
ALC269 and ALC861-VD parsers override the ADC definitions
unconditionally without checking the spec definition. This causes
the problem when any inconsistent ADC is set up in the device quirk
(like ALC272 with digital-mic).This patch avoids the overriding by adding the proper checks.
Reference: Novell bnc#529467
https://bugzilla.novell.com/show_bug.cgi?id=529467Signed-off-by: Takashi Iwai
10 Aug, 2009
1 commit
-
Without the initialization of vmaster NID, the dB information got
confused for ALC269 codec.Reference: Novell bnc#527361
https://bugzilla.novell.com/show_bug.cgi?id=527361Signed-off-by: Takashi Iwai
Cc:
07 Aug, 2009
1 commit
-
Module builds are broken due to missing DRV_NAME for
efika-audio-fabric and pcm030-audio-fabric.Signed-off-by: Takashi Iwai
05 Aug, 2009
1 commit
-
* 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: hda - Read buffer overflow
ALSA: hda: Correct EAPD for Dell Inspiron 1525
ALSA: hda: warn on spurious response
ALSA: hda: remember last command for each codec
ALSA: hda: read CORBWP inside reg_lock
ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io
ALSA: hda: take cmd_mutex in probe_codec()
ALSA: hda: track CIRB/CORB command/response states for each codec
ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527
03 Aug, 2009
9 commits
-
Check whether index is within bounds before testing the element.
Signed-off-by: Roel Kluin
Signed-off-by: Takashi Iwai -
The commit 24918b61b55c21e09a3e07cd82e1b3a8154782dc statically changes
the model from dell-bios to dell-3stack to solve the sound decreasing
regression (http://lkml.org/lkml/2008/9/12/203), however it leads to another
problem that the 2nd headphone jack doesn't work
(https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3987). So I think
the commit 249**2dc is just a workaround. I would like to give a true solution
here.The datasheet for STAC9228 says, GPIO2 is the same pin as VOL DOWN, and
the EAPD pin is GPIO0. This is why the sound decreases if we set EAPD as
GPIO2. This patch changes EAPD to GPIO0 to solve the problem.Signed-off-by: Chengu Wang
Signed-off-by: Takashi Iwai -
To help disclose hardware bugs.
Signed-off-by: Wu Fengguang
Signed-off-by: Takashi Iwai -
Signed-off-by: Wu Fengguang
Signed-off-by: Takashi Iwai -
This converts the last CORBWP access outside of reg_lock.
Signed-off-by: Wu Fengguang
Signed-off-by: Takashi Iwai -
Just for safety. azx_init_cmd_io() and azx_free_cmd_io() may be
called when switching to single command mode.Signed-off-by: Wu Fengguang
Signed-off-by: Takashi Iwai -
Now that each codec will have its own module, it is possible
for the user to load one codec while another one is running.So cmd_mutex would be a safe addition to probe_codec().
Signed-off-by: Wu Fengguang
Signed-off-by: Takashi Iwai -
Recently we hit a bug in our dev board, whose HDMI codec#3 may emit
redundant/spurious responses, which were then taken as responses to
command for another onboard Realtek codec#2, and mess up both codecs.Extend the azx_rb.cmds and azx_rb.res to array and track each codec's
commands/responses separately. This helps keep good codec safe from
broken ones.Signed-off-by: Wu Fengguang
Signed-off-by: Takashi Iwai -
Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S4527
with ALC861-VD codec.Reference: Novell bnc#526325
https://bugzilla.novell.com/show_bug.cgi?id=526325Signed-off-by: Takashi Iwai
31 Jul, 2009
5 commits
-
* fix/oss:
sound: mpu401.c: Buffer overflow
sound: aedsp16: Buffer overflow -
* fix/misc:
ALSA: sound/aoa: Add kmalloc NULL tests -
* fix/hda:
ALSA: hda - Increase PCM stream name buf in patch_realtek.c
ALSA: hda: fix out-of-bound hdmi_eld.sad[] write
ALSA: hda - Add quirk for Dell Studio 1555 -
Check that the result of kzalloc is not NULL before a dereference.
The semantic match that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)//
@@
expression *x;
identifier f;
constant char *C;
@@x = \(kmalloc\|kcalloc\|kzalloc\)(...);
... when != x == NULL
when != x != NULL
when != (x || ...)
(
kfree(x)
|
f(...,C,...,x,...)
|
*f(...,x,...)
|
*x->f
)
//Signed-off-by: Julia Lawall
Signed-off-by: Takashi Iwai -
The name buf with size 16 is too short for some codec names, e.g.
truncated like "ALC861-VD Analo". Now the size is doubled.Signed-off-by: Takashi Iwai
29 Jul, 2009
3 commits
-
mpu_synth_info[m].name is a char[30], and the minimum length of the data
written by sprintf is 31 bytes including terminating null.Signed-off-by: Roel Kluin
Signed-off-by: Takashi Iwai -
DSPVersion is declared as char[3], but the sprintf writes at least 4 bytes
including terminating null.Signed-off-by: Roel Kluin
Signed-off-by: Takashi Iwai -
e->sad[] is declared with size ELD_MAX_SAD=16, but the guard
allows range 0-31.Signed-off-by: Roel Kluin
Signed-off-by: Wu Fengguang
Signed-off-by: Takashi Iwai
28 Jul, 2009
1 commit
-
Added a quirk entry for Dell Studio 1555.
Reference: Novell bnc#525244
https://bugzilla.novell.com/show_bug.cgi?id=525244Signed-off-by: Takashi Iwai
26 Jul, 2009
6 commits
-
* fix/usb-audio:
ALSA: usb-audio - Volume control quirk for QuickCam E 3500 -
* fix/pcm-hwptr:
ALSA: pcm - Fix hwptr buffer-size overlap bug
ALSA: pcm - Fix warnings in debug loggings
ALSA: pcm - Add logging of hwptr updates and interrupt updates
ALSA: pcm - Fix regressions with VMware -
* fix/hda:
ALSA: hda - Fix mute control with some ALC262 models
ALSA: hda - Restore GPIO1 properly at resume with AD1984A
ALSA: hda - Use snprintf() to be safer -
* fix/ctxfi:
ALSA: ctxfi - Fix uninitialized error checks -
* fix/caiaq:
ALSA: snd_usb_caiaq: add support for Audio2DJ -
* fix/asoc:
ASoC: tlv320aic3x: Enable PLL when not bypassed
24 Jul, 2009
1 commit
-
The master mute switch is wrongly implemented as checking the pointer
instead of its value, thus it can be never muted. This patch fixes
the issue.Reference: Novell bnc#404873
https://bugzilla.novell.com/show_bug.cgi?id=404873Signed-off-by: Takashi Iwai
Cc:
23 Jul, 2009
5 commits
-
This adds support for Native Instrument's freshly announced Audio2DJ
sound device hardware. Version number bumped to 1.3.19.Signed-off-by: Daniel Mack
Signed-off-by: Takashi Iwai -
The fix 79452f0a28aa5a40522c487b42a5fc423647ad98 introduced another
bug due to the missing offset for the overlapped hwptr.
When the hwptr goes back to zero, the delta value has to be corrected
with the buffer size. Otherwise this causes looping sounds.Signed-off-by: Takashi Iwai
-
Add proper cast.
Signed-off-by: Takashi Iwai
-
Added the logging functionality to xrun_debug to record the hwptr
updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt(),
corresponding to 16 and 8, respectively.For example,
# echo 9 > /proc/asound/card0/pcm0p/xrun_debug
will record the position and other parameters at each period interrupt
together with the normal XRUN debugging.Signed-off-by: Takashi Iwai
-
PLL was not being enabled when it was not bypassed. This patch
enables the PLL when it is used. Additionally, it disables the PLL
when it is bypassed.Without this patch, the audio on TI DM646x EVM and DM355 EVM
does not work properly. The bit clocks and the frame sync signals
from the codec are not correct and hence the playback/record are faster
than usual for most sample rates. The reason for this was that the PLL
was not enabled when it was not bypassed.Tested on DM6467 EVM, playback tested on DM355 EVM.
Signed-off-by: Chaithrika U S
Signed-off-by: Mark Brown