]> err.no Git - linux-2.6/commitdiff
[ALSA] Fix maestro3 hang after cold boot
authorCharles R. Anderson <cra@alum.wpi.edu>
Tue, 18 Oct 2005 16:04:36 +0000 (18:04 +0200)
committerJaroslav Kysela <perex@suse.cz>
Fri, 4 Nov 2005 12:19:06 +0000 (13:19 +0100)
Modules: Maestro3 driver

This patch fixes the maestro3 driver to call the snd_m3_assp_init
function to write the DSP firmware into the ASSP chip before sending the
RUN_ASSP command, thereby solving the hang after a cold boot.

Signed-off-by: Charles R. Anderson <cra@alum.wpi.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/maestro3.c

index 2693b6f731f3e27c03c1754a12097e2674574ce0..7b1b82521cf4c1c6abbfa8b3633cdc8d3d7ba6d6 100644 (file)
@@ -2476,6 +2476,7 @@ snd_m3_chip_init(m3_t *chip)
        t |= ASSP_0_WS_ENABLE; 
        outb(t, chip->iobase + ASSP_CONTROL_A);
 
+       snd_m3_assp_init(chip); /* download DSP code before starting ASSP below */
        outb(RUN_ASSP, chip->iobase + ASSP_CONTROL_B); 
 
        outb(0x00, io + HARDWARE_VOL_CTRL);
@@ -2734,7 +2735,6 @@ snd_m3_create(snd_card_t *card, struct pci_dev *pci,
 
        snd_m3_ac97_reset(chip);
 
-       snd_m3_assp_init(chip);
        snd_m3_amp_enable(chip, 1);
 
        tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip);