diff options
author | David Henningsson <david.henningsson@canonical.com> | 2015-04-21 04:48:46 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-04-21 04:51:56 -0400 |
commit | 7d1b6e29327428993ba568bdd8c66734070f45e0 (patch) | |
tree | 82b55e7fa0e8af34b7385b4f1337945477acd4c6 /sound/pci/hda | |
parent | 6d1f2f605601ec701b561eca143c03e2a22d6489 (diff) |
ALSA: hda - fix "num_steps = 0" error on ALC256
The ALC256 does not have a mixer nid at 0x0b, and there's no
loopback path (the output pins are directly connected to the DACs).
This commit fixes an "num_steps = 0 for NID=0xb (ctl = Beep Playback Volume)"
error (and as a result, problems with amixer/alsamixer).
If there's pcbeep functionality, it certainly isn't controlled by setting an
amp on 0x0b, so disable beep functionality (at least for now).
Cc: stable@vger.kernel.org
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1446517
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 231d0e4b9a95..03975d03b264 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -5664,6 +5664,7 @@ static int patch_alc269(struct hda_codec *codec) | |||
5664 | break; | 5664 | break; |
5665 | case 0x10ec0256: | 5665 | case 0x10ec0256: |
5666 | spec->codec_variant = ALC269_TYPE_ALC256; | 5666 | spec->codec_variant = ALC269_TYPE_ALC256; |
5667 | spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */ | ||
5667 | break; | 5668 | break; |
5668 | } | 5669 | } |
5669 | 5670 | ||
@@ -5677,8 +5678,8 @@ static int patch_alc269(struct hda_codec *codec) | |||
5677 | if (err < 0) | 5678 | if (err < 0) |
5678 | goto error; | 5679 | goto error; |
5679 | 5680 | ||
5680 | if (!spec->gen.no_analog && spec->gen.beep_nid) | 5681 | if (!spec->gen.no_analog && spec->gen.beep_nid && spec->gen.mixer_nid) |
5681 | set_beep_amp(spec, 0x0b, 0x04, HDA_INPUT); | 5682 | set_beep_amp(spec, spec->gen.mixer_nid, 0x04, HDA_INPUT); |
5682 | 5683 | ||
5683 | codec->patch_ops = alc_patch_ops; | 5684 | codec->patch_ops = alc_patch_ops; |
5684 | codec->patch_ops.stream_pm = snd_hda_gen_stream_pm; | 5685 | codec->patch_ops.stream_pm = snd_hda_gen_stream_pm; |