mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-03 09:41:54 +09:00
ALSA: usb-audio - Check the dB-range validity in the later read, too
commit 9fcd0ab130 upstream.
When the initial check of dB-range failed due to the read error, try to
check again at the later read, too. When an invalid dB range is found,
remove TLV flags and notify the mixer info change.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f73870d6d3
commit
9338f407e3
@@ -881,8 +881,17 @@ static int mixer_ctl_feature_info(struct snd_kcontrol *kcontrol, struct snd_ctl_
|
||||
uinfo->value.integer.min = 0;
|
||||
uinfo->value.integer.max = 1;
|
||||
} else {
|
||||
if (! cval->initialized)
|
||||
get_min_max(cval, 0);
|
||||
if (!cval->initialized) {
|
||||
get_min_max(cval, 0);
|
||||
if (cval->initialized && cval->dBmin >= cval->dBmax) {
|
||||
kcontrol->vd[0].access &=
|
||||
~(SNDRV_CTL_ELEM_ACCESS_TLV_READ |
|
||||
SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK);
|
||||
snd_ctl_notify(cval->mixer->chip->card,
|
||||
SNDRV_CTL_EVENT_MASK_INFO,
|
||||
&kcontrol->id);
|
||||
}
|
||||
}
|
||||
uinfo->value.integer.min = 0;
|
||||
uinfo->value.integer.max =
|
||||
(cval->max - cval->min + cval->res - 1) / cval->res;
|
||||
|
||||
Reference in New Issue
Block a user