[alsa-devel] [PATCH] ALSA: hda/realtek - Fix detection of ALC271X codec

David Henningsson david.henningsson at canonical.com
Thu Sep 27 15:50:04 CEST 2012


On 09/27/2012 03:38 PM, Herton Ronaldo Krzesinski wrote:
> In commit af741c1 ("ALSA: hda/realtek - Call alc_auto_parse_customize_define()
> always after fixup"), alc_auto_parse_customize_define was moved after
> detection of ALC271X.
>
> The problem is that detection of ALC271X relies on spec->cdefine.platform_type,
> and it's set on alc_auto_parse_customize_define.
>
> Move the alc_auto_parse_customize_define and its required fixup setup
> before the block doing the ALC271X and other codec setup.
>
> BugLink: https://bugs.launchpad.net/bugs/1006690
> Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski at canonical.com>

Looks good. I would add a cc to stable though.

Reviewed-by: David Henningsson <david.henningsson at canonical.com>

> ---
>   sound/pci/hda/patch_realtek.c |   12 ++++++------
>   1 file changed, 6 insertions(+), 6 deletions(-)
>
> It looks safe to move the functions before the block
> "if (codec->vendor_id == 0x10ec0269) {", as nothing on the fixups seems
> to depend on what's done there. But if wanted we could just move the
> detection/codec rename of ALC271X below too.
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index c4c4b01..3b187e9 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -6273,6 +6273,12 @@ static int patch_alc269(struct hda_codec *codec)
>
>   	spec = codec->spec;
>
> +	alc_pick_fixup(codec, alc269_fixup_models,
> +		       alc269_fixup_tbl, alc269_fixups);
> +	alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);
> +
> +	alc_auto_parse_customize_define(codec);
> +
>   	if (codec->vendor_id == 0x10ec0269) {
>   		spec->codec_variant = ALC269_TYPE_ALC269VA;
>   		switch (alc_get_coef0(codec) & 0x00f0) {
> @@ -6300,12 +6306,6 @@ static int patch_alc269(struct hda_codec *codec)
>   		alc269_fill_coef(codec);
>   	}
>
> -	alc_pick_fixup(codec, alc269_fixup_models,
> -		       alc269_fixup_tbl, alc269_fixups);
> -	alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);
> -
> -	alc_auto_parse_customize_define(codec);
> -
>   	/* automatic parse from the BIOS config */
>   	err = alc269_parse_auto_config(codec);
>   	if (err < 0)
>



-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the Alsa-devel mailing list