Re: Commit 1e137f92 broke my Vaio VGN-FE550G's hda_intel driver.

From: Takashi Iwai
Date: Mon Jul 20 2009 - 02:00:40 EST


At Sun, 19 Jul 2009 17:55:38 -0500,
Robin Holt wrote:
>
> > What about to pass model=vaio? Doesn't it work?
>
> That didn't change the behavior.
>
> > In anyways, please run alsa-info.sh with --no-upload option, and attach
> > the generated file.
>
> Here is the output from alsa-info.sh. This was from the module load without
> the model=vaio. Below, (search for ---Robin---) is the output from alsa-info.sh
> with model=vaio.

Thanks. This look really like a bug. The pin definition was wrongly
placed. It should have been before the pin overrides.

Could you try the patch below? With the patch, the driver would work
even without any model option.


Takashi

---
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 41b5b3a..0a03b5c 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -5854,6 +5854,8 @@ static unsigned int *stac9872_brd_tbl[STAC_9872_MODELS] = {
};

static struct snd_pci_quirk stac9872_cfg_tbl[] = {
+ SND_PCI_QUIRK_MASK(0x104d, 0xfff0, 0x81e0,
+ "Sony VAIO F/S", STAC_9872_VAIO),
{} /* terminator */
};

@@ -5866,6 +5868,8 @@ static int patch_stac9872(struct hda_codec *codec)
if (spec == NULL)
return -ENOMEM;
codec->spec = spec;
+ spec->num_pins = ARRAY_SIZE(stac9872_pin_nids);
+ spec->pin_nids = stac9872_pin_nids;

spec->board_config = snd_hda_check_board_config(codec, STAC_9872_MODELS,
stac9872_models,
@@ -5877,8 +5881,6 @@ static int patch_stac9872(struct hda_codec *codec)
stac92xx_set_config_regs(codec,
stac9872_brd_tbl[spec->board_config]);

- spec->num_pins = ARRAY_SIZE(stac9872_pin_nids);
- spec->pin_nids = stac9872_pin_nids;
spec->multiout.dac_nids = spec->dac_nids;
spec->num_adcs = ARRAY_SIZE(stac9872_adc_nids);
spec->adc_nids = stac9872_adc_nids;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/