The Advanced Linux Sound Architecture (ALSA) - library
Find a file
Stephen Warren 529706fc32 snd_tlv_convert_from_dB: fix decreasing gain across entries
Currently, for a TLV consisting of TLV_DB_SCALE_ITEMs, if e.g. alsamixer
calls snd_mixer_selem_set_playback_dB() with a value that is in-between
two TLV_DB_SCALE_ITEMs, and xdir is negative, the selected raw hardware
value is the minimum in the first range above that value, rather than the
maximum in the last range below that value.

The user-visible symptom is that in alsamixer, pressing the down key to
reduce the value sticks at certain points, and cannot be incrementally
reduced any further, although directly selecting a much lower value (e.g.
by pressing 0..9) works as expected. This is triggered e.g. by
sound/soc/codec/max98090.c's max98090_hp_tlv[].

Fix this by checking whether xdir is positive or not, rather than
checking whether it has a non-zero value. The code to select the previous
range's max value is already present. This matches how xdir is used in
other parts of the code.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-01 12:24:45 +02:00
alsalisp Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
aserver Make some static tables and strings constants. 2008-11-21 13:04:41 +01:00
doc all places: doxygen cleanups 2013-04-08 16:42:24 +02:00
include Update iatomic.h functions definitions for mips 2013-08-22 10:40:32 +02:00
m4 Add the attributes.m4 macro file from xine/lscube. 2008-11-21 13:04:19 +01:00
modules alsa-lib: fixed coverity reported issues under "FORWARD_NULL" checker. 2011-05-04 09:11:46 +02:00
src snd_tlv_convert_from_dB: fix decreasing gain across entries 2013-10-01 12:24:45 +02:00
test pcm: support for audio timestamps 2012-10-25 00:13:51 +02:00
utils build: Disable another compile chack with --disable-alsatest 2012-07-17 14:57:10 +02:00
.gitignore Update .gitignore 2012-09-22 09:39:12 +02:00
acinclude.m4 fixed for the recent autoconf. 2004-01-26 15:52:17 +00:00
ChangeLog * update to libtool 1.3.3 1999-07-22 12:18:42 +00:00
configure.in Release v1.0.27.2 2013-07-08 14:31:36 +02:00
COPYING Updated GNU GPL license (address). 2001-12-30 09:22:54 +00:00
gitcompile Introduce --with-pkgconfdir, add 64-bit defaults to gitcompile 2012-01-20 16:14:44 +01:00
INSTALL Add hgcompile script and fix INSTALL document 2006-05-12 15:33:44 +02:00
Makefile.am Add m4/attributes.m4 as dist file.. 2009-01-05 13:21:12 +01:00
MEMORY-LEAK Initial version 2003-02-04 14:56:07 +00:00
NOTES Change assert condition in error message handler 2007-10-24 12:53:08 +02:00
TODO Added snd_config_load_override(). 2002-01-09 21:28:15 +00:00