At Mon, 26 Jul 2010 22:54:42 +0200, Piotr Hosowicz wrote: > > On 26.07.2010 22:17, Takashi Iwai wrote: > > >>>> You need to pass the branch. In this case, pass for-next > >>> > >>> I passed topic/hda and rebuilt the kernel and now everything is working. > >> > >> I have just git pulled for-next and saw many files downloaded so I > >> wonder how synced with topic/hda it's working. > > > > It contains other two branches, topic/misc and topic/asoc. > > (Also sometimes missing fix/asoc and fix/misc merges). > > > > topic/asoc branch is specific to ASoC, so very likely irrelevant. > > If any, some changes in the sound core code in topic/misc might > > influence in your case... > > Ok, so I'll use for-next then. Thank you again, you taught me a lot. I guess you hit the regression fixed right now, so slipped from today's linux-next. The patch is below. (The reason why topic/hda branch worked is that I pulled the changes to topic/misc branch from Jaroslav's tree because his branch contains more other changes than HD-audio specific. And I forgot about this commit until today, grrr.) thanks, Takashi --- >From 1a9bbe35dd5c0d0d6322d828779c2abbdd927340 Mon Sep 17 00:00:00 2001 From: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue, 27 Jul 2010 00:10:34 +0200 Subject: [PATCH] ALSA: hda: Fixup commit 79c944ad (caused codec initialization failure) Commit 79c944ad caused codecs not to be detected in some cases, found on several Realtek codecs. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> --- sound/pci/hda/hda_codec.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 6e0de65..88f26e2 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -724,23 +724,24 @@ static int get_codec_name(struct hda_codec *codec) */ static void /*__devinit*/ setup_fg_nodes(struct hda_codec *codec) { - int i, total_nodes, function_id; + int i, total_nodes, function_id, param_val; hda_nid_t nid; total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid); for (i = 0; i < total_nodes; i++, nid++) { - function_id = snd_hda_param_read(codec, nid, + param_val = snd_hda_param_read(codec, nid, AC_PAR_FUNCTION_TYPE); + function_id = param_val & 0xff; switch (function_id) { case AC_GRP_AUDIO_FUNCTION: codec->afg = nid; - codec->afg_function_id = function_id & 0xff; - codec->afg_unsol = (function_id >> 8) & 1; + codec->afg_function_id = function_id; + codec->afg_unsol = (param_val >> 8) & 1; break; case AC_GRP_MODEM_FUNCTION: codec->mfg = nid; - codec->mfg_function_id = function_id & 0xff; - codec->mfg_unsol = (function_id >> 8) & 1; + codec->mfg_function_id = function_id; + codec->mfg_unsol = (param_val >> 8) & 1; break; default: break; -- 1.7.2 -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html