[alsa-devel] [BUG, bisect] ALSA: hda - No sound output

Takashi Iwai tiwai at suse.de
Fri May 29 09:43:24 CEST 2015


At Fri, 29 May 2015 09:37:44 +0200,
Takashi Iwai wrote:
> 
> At Fri, 29 May 2015 00:27:14 -0700,
> Jeremiah Mahler wrote:
> > 
> > Takashi, all,
> > 
> > On several of my machines there is no longer any sound output when
> > running the latest linux-next (20150528).  Activity can be seen in a
> > mixer such as pavucontrol suggesting that there should be sound, but
> > both the speakers and head phones are silent.
> > 
> > I have bisected the kernel and found that the following patch introduced
> > the bug.
> > 
> >   From 49fb18972581a781658a4637de76e6069ed5964e Mon Sep 17 00:00:00 2001
> >   From: Takashi Iwai <tiwai at suse.de>
> >   Date: Wed, 27 May 2015 08:37:19 +0200
> >   Subject: [PATCH] ALSA: hda - Set stream_pm ops automatically by generic parser
> >   
> >   This allows user to test power_save_node feature via sysfs or patch
> >   firmware even on the codecs that don't specify it.  It'll also save a
> >   few lines.
> >   
> >   Signed-off-by: Takashi Iwai <tiwai at suse.de>
> >   ---
> >    sound/pci/hda/hda_generic.c    | 5 ++++-
> >    sound/pci/hda/patch_realtek.c  | 1 -
> >    sound/pci/hda/patch_sigmatel.c | 1 -
> >    sound/pci/hda/patch_via.c      | 1 -
> >    4 files changed, 4 insertions(+), 4 deletions(-)
> 
> I still don't figure out why this breaks. 
> Could you give alsa-info.sh output of the affected machine?

I think I found the culprit.  Please try the patch below.


Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index ea3af38eee58..464168426465 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5729,6 +5729,7 @@ static int patch_alc269(struct hda_codec *codec)
 		set_beep_amp(spec, spec->gen.mixer_nid, 0x04, HDA_INPUT);
 
 	codec->patch_ops = alc_patch_ops;
+	codec->patch_ops.stream_pm = snd_hda_gen_stream_pm;
 #ifdef CONFIG_PM
 	codec->patch_ops.suspend = alc269_suspend;
 	codec->patch_ops.resume = alc269_resume;
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index 742087ef378f..31a95cca015d 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -472,6 +472,7 @@ static const struct hda_codec_ops via_patch_ops = {
 	.init = via_init,
 	.free = via_free,
 	.unsol_event = snd_hda_jack_unsol_event,
+	.stream_pm = snd_hda_gen_stream_pm,
 #ifdef CONFIG_PM
 	.suspend = via_suspend,
 	.check_power_status = via_check_power_status,


More information about the Alsa-devel mailing list