tree 00c78a03731ae123b7cf42923fa10d6e9f640041
parent 145794dc09117b31b6730096558e52b673af7b84
author Takashi Iwai <[EMAIL PROTECTED]> Tue, 21 Jun 2005 14:49:19 +0200
committer Jaroslav Kysela <[EMAIL PROTECTED]> Thu, 28 Jul 2005 12:09:22 +0200

[ALSA] hda-codec - Fix oops with ALC880

HDA Codec driver
- Fixed oops with ALC880 auto-config mode
- Fixed a wrong config table entry for ALC880

Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>

 sound/pci/hda/patch_realtek.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -119,6 +119,7 @@ struct alc_spec {
        unsigned int num_kctl_alloc, num_kctl_used;
        snd_kcontrol_new_t *kctl_alloc;
        struct hda_input_mux private_imux;
+       hda_nid_t private_dac_nids[4];
 };
 
 
@@ -1549,7 +1550,8 @@ static struct hda_board_config alc880_cf
        { .pci_subvendor = 0x1019, .pci_subdevice = 0xa880, .config = 
ALC880_5ST_DIG },
        { .pci_subvendor = 0x1019, .pci_subdevice = 0xa884, .config = 
ALC880_5ST_DIG },
        { .pci_subvendor = 0x1695, .pci_subdevice = 0x400d, .config = 
ALC880_5ST_DIG },
-       { .pci_subvendor = 0x0000, .pci_subdevice = 0x8086, .config = 
ALC880_5ST_DIG },
+       /* note subvendor = 0 below */
+       /* { .pci_subvendor = 0x0000, .pci_subdevice = 0x8086, .config = 
ALC880_5ST_DIG }, */
 
        { .modelname = "w810", .config = ALC880_W810 },
        { .pci_subvendor = 0x161f, .pci_subdevice = 0x203d, .config = 
ALC880_W810 },
@@ -1656,7 +1658,8 @@ static struct alc_config_preset alc880_p
        },
        [ALC880_W810] = {
                .mixers = { alc880_w810_base_mixer },
-               .init_verbs = { alc880_volume_init_verbs, 
alc880_pin_w810_init_verbs },
+               .init_verbs = { alc880_volume_init_verbs, 
alc880_pin_w810_init_verbs,
+                               alc880_gpio2_init_verbs },
                .num_dacs = ARRAY_SIZE(alc880_w810_dac_nids),
                .dac_nids = alc880_w810_dac_nids,
                .dig_out_nid = ALC880_DIGOUT_NID,
@@ -1666,8 +1669,7 @@ static struct alc_config_preset alc880_p
        },
        [ALC880_Z71V] = {
                .mixers = { alc880_z71v_mixer },
-               .init_verbs = { alc880_volume_init_verbs, 
alc880_pin_z71v_init_verbs,
-                               alc880_gpio2_init_verbs },
+               .init_verbs = { alc880_volume_init_verbs, 
alc880_pin_z71v_init_verbs },
                .num_dacs = ARRAY_SIZE(alc880_z71v_dac_nids),
                .dac_nids = alc880_z71v_dac_nids,
                .dig_out_nid = ALC880_DIGOUT_NID,
@@ -1809,6 +1811,7 @@ static int alc880_auto_fill_dac_nids(str
        int i, j;
 
        memset(assigned, 0, sizeof(assigned));
+       spec->multiout.dac_nids = spec->private_dac_nids;
 
        /* check the pins hardwired to audio widget */
        for (i = 0; i < cfg->line_outs; i++) {
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to