lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hmxe8vntc.wl%tiwai@suse.de>
Date:	Tue, 13 Sep 2011 10:39:11 +0200
From:	Takashi Iwai <tiwai@...e.de>
To:	Francis Moreau <francis.moro@...il.com>
Cc:	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: 3.1-rc5 is the worst

At Mon, 12 Sep 2011 16:25:44 +0200,
Francis Moreau wrote:
> 
> On Mon, Sep 12, 2011 at 3:14 PM, Francis Moreau <francis.moro@...il.com> wrote:
> > Hello,
> >
> > On Mon, Sep 12, 2011 at 11:24 AM, Takashi Iwai <tiwai@...e.de> wrote:
> >> At Sat, 10 Sep 2011 11:57:06 +0200,
> >> Francis Moreau wrote:
> >>>
> >>> Hello,
> >>>
> >>> Maybe the subject sounds rude so apologize since I just want to report
> >>> that 3.1-rc5 gives me bad impression.
> >>>
> >>> Of course it's all about my hw support which seems to get some
> >>> regressions (I attached lspci).
> >>>
> >>> 1/ I'm getting this now at each boot:
> >>>
> >>>   [   38.349671] hda_codec: too deep connection for 0x18
> >>>   [   38.349748] hda_codec: too deep connection for 0x18
> >>>   [   38.349842] hda_codec: too deep connection for 0x18
> >>>   [   38.349843] hda_codec: too deep connection for 0x18
> >>>   [   38.349844] hda_codec: too deep connection for 0x18
> >>>   [   38.349939] hda_codec: too deep connection for 0x18
> >>>   <repeated 252 times>
> >>>
> >>> I've no idea what it does mean or it's simply a warning I can ignore
> >>> (and it that case it would be nice to limit it at least) or if it's
> >>> worse getting a fix before 3.1 is out would be great.
> >>
> >> Could you give alsa-info.sh outputs (run with --no-upload option)
> >> for both working and non-working kernels?  lspci doesn't expose
> >> anything about codecs and other details.
> >>
> >
> > Here is the output from the working kernel (no "too deep connection
> > ..." warnings). kernel is 2.6.39.4.
> >
> > I can't give the output for the non-working kernel since I can't
> > reboot right now. I'll send it later.
> >
> 
> Ok here's the output for the bad one.
> 
> Let me know if you want something else.

Thanks!

The patch below should fix the problem.  Give it a try.


Takashi

---
From: Takashi Iwai <tiwai@...e.de>
Subject: [PATCH] ALSA: hda - Terminate the recursive connection search properly

The recursive search of widget connections in snd_hda_get_conn_index()
must be terminated at the pin and the audio-out widgets.  Otherwise
you'll get "too deep connection" warnings unnecessarily.

Signed-off-by: Takashi Iwai <tiwai@...e.de>
---
 sound/pci/hda/hda_codec.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 3e7850c..f3aefef 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -579,9 +579,13 @@ int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
 		return -1;
 	}
 	recursive++;
-	for (i = 0; i < nums; i++)
+	for (i = 0; i < nums; i++) {
+		unsigned int type = get_wcaps_type(get_wcaps(codec, conn[i]));
+		if (type == AC_WID_PIN || type == AC_WID_AUD_OUT)
+			continue;
 		if (snd_hda_get_conn_index(codec, conn[i], nid, recursive) >= 0)
 			return i;
+	}
 	return -1;
 }
 EXPORT_SYMBOL_HDA(snd_hda_get_conn_index);
-- 
1.7.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ