diff options
author | Charles R. Anderson <cra@alum.wpi.edu> | 2005-10-18 12:04:36 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-11-04 07:19:06 -0500 |
commit | 051b51653309db976c9665f8d4b1774fa1f8124a (patch) | |
tree | 82b06edc315ae21e39cbcf2cc96cec37df6dfcde /sound | |
parent | c829b052de189b3ca4fb76d2f61917b67e12b83d (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.c | 2 |
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); |