[alsa-devel] [PATCH] ALSA: hda: Fixup commit 79c944ad (caused codec initialization failure)
Takashi Iwai
tiwai at suse.de
Tue Jul 27 07:36:03 CEST 2010
At Tue, 27 Jul 2010 00:20:53 +0200,
David Henningsson wrote:
>
> [1 <text/plain; ISO-8859-1 (7bit)>]
> A recent commit in current HEAD (79c944ad) caused codecs not to be
> detected in some cases, found on several Realtek codecs.
>
> Please apply the attached fix for that problem.
Ah, I forgot about this being committed to topic/misc branch since
Jaroslav's branch contains more other stuff than HD-audio.
Applied now. Thanks for tracking down.
Takashi
>
> --
> David Henningsson, Canonical Ltd.
> http://launchpad.net/~diwic
> [2 0002-ALSA-hda-Fixup-commit-79c944ad-caused-codec-initiali.patch <text/x-patch (7bit)>]
> >From 107d4057bed5037977b8b4c27ada11f14526e8cb Mon Sep 17 00:00:00 2001
> From: David Henningsson <david.henningsson at canonical.com>
> Date: Tue, 27 Jul 2010 00:10:34 +0200
> Subject: [PATCH 1/1] 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 at canonical.com>
> ---
> 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 8cd5da8..710f61a 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.0.4
>
More information about the Alsa-devel
mailing list