aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2015-04-21 04:48:46 -0400
committerTakashi Iwai <tiwai@suse.de>2015-04-21 04:51:56 -0400
commit7d1b6e29327428993ba568bdd8c66734070f45e0 (patch)
tree82b55e7fa0e8af34b7385b4f1337945477acd4c6 /sound/pci/hda
parent6d1f2f605601ec701b561eca143c03e2a22d6489 (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.c5
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;