forked from luck/tmp_suning_uos_patched
ALSA: hdspm: Fix wrong boolean ctl value accesses
snd-hdspm driver accesses enum item values (int) instead of boolean values (long) wrongly for some ctl elements. This patch fixes them. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
b24e7ad1fd
commit
537e481362
|
@ -2261,7 +2261,7 @@ static int snd_hdspm_put_system_sample_rate(struct snd_kcontrol *kcontrol,
|
|||
{
|
||||
struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
|
||||
|
||||
hdspm_set_dds_value(hdspm, ucontrol->value.enumerated.item[0]);
|
||||
hdspm_set_dds_value(hdspm, ucontrol->value.integer.value[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -4449,7 +4449,7 @@ static int snd_hdspm_get_tco_word_term(struct snd_kcontrol *kcontrol,
|
|||
{
|
||||
struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
|
||||
|
||||
ucontrol->value.enumerated.item[0] = hdspm->tco->term;
|
||||
ucontrol->value.integer.value[0] = hdspm->tco->term;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -4460,8 +4460,8 @@ static int snd_hdspm_put_tco_word_term(struct snd_kcontrol *kcontrol,
|
|||
{
|
||||
struct hdspm *hdspm = snd_kcontrol_chip(kcontrol);
|
||||
|
||||
if (hdspm->tco->term != ucontrol->value.enumerated.item[0]) {
|
||||
hdspm->tco->term = ucontrol->value.enumerated.item[0];
|
||||
if (hdspm->tco->term != ucontrol->value.integer.value[0]) {
|
||||
hdspm->tco->term = ucontrol->value.integer.value[0];
|
||||
|
||||
hdspm_tco_write(hdspm);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user