Messages in this thread Patch in this message | | | Date | Tue, 13 Sep 2011 10:39:11 +0200 | From | Takashi Iwai <> | 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@gmail.com> wrote: > > Hello, > > > > On Mon, Sep 12, 2011 at 11:24 AM, Takashi Iwai <tiwai@suse.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@suse.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@suse.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |