aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorCharles R. Anderson <cra@alum.wpi.edu>2005-10-18 12:04:36 -0400
committerJaroslav Kysela <perex@suse.cz>2005-11-04 07:19:06 -0500
commit051b51653309db976c9665f8d4b1774fa1f8124a (patch)
tree82b06edc315ae21e39cbcf2cc96cec37df6dfcde /sound
parentc829b052de189b3ca4fb76d2f61917b67e12b83d (diff)
[ALSA] Fix maestro3 hang after cold boot
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>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/maestro3.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c
index 2693b6f731f3..7b1b82521cf4 100644
--- a/sound/pci/maestro3.c
+++ b/sound/pci/maestro3.c
@@ -2476,6 +2476,7 @@ snd_m3_chip_init(m3_t *chip)
2476 t |= ASSP_0_WS_ENABLE; 2476 t |= ASSP_0_WS_ENABLE;
2477 outb(t, chip->iobase + ASSP_CONTROL_A); 2477 outb(t, chip->iobase + ASSP_CONTROL_A);
2478 2478
2479 snd_m3_assp_init(chip); /* download DSP code before starting ASSP below */
2479 outb(RUN_ASSP, chip->iobase + ASSP_CONTROL_B); 2480 outb(RUN_ASSP, chip->iobase + ASSP_CONTROL_B);
2480 2481
2481 outb(0x00, io + HARDWARE_VOL_CTRL); 2482 outb(0x00, io + HARDWARE_VOL_CTRL);
@@ -2734,7 +2735,6 @@ snd_m3_create(snd_card_t *card, struct pci_dev *pci,
2734 2735
2735 snd_m3_ac97_reset(chip); 2736 snd_m3_ac97_reset(chip);
2736 2737
2737 snd_m3_assp_init(chip);
2738 snd_m3_amp_enable(chip, 1); 2738 snd_m3_amp_enable(chip, 1);
2739 2739
2740 tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip); 2740 tasklet_init(&chip->hwvol_tq, snd_m3_update_hw_volume, (unsigned long)chip);