Skip to content

Commit

Permalink
ALSA: wss_lib: Fix resume on Yamaha OPL3-SAx
Browse files Browse the repository at this point in the history
Yamaha OPL3-SAx chips don't resume properly when playback is running -
garbage is played after resume. Restoring the CS4231_PLAYBK_FORMAT register
last fixes the problem.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Ondrej Zary authored and tiwai committed Jul 16, 2012
1 parent ca3273f commit b4e2a16
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions sound/isa/wss/wss_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1656,6 +1656,10 @@ static void snd_wss_resume(struct snd_wss *chip)
break;
}
}
/* Yamaha needs this to resume properly */
if (chip->hardware == WSS_HW_OPL3SA2)
snd_wss_out(chip, CS4231_PLAYBK_FORMAT,
chip->image[CS4231_PLAYBK_FORMAT]);
spin_unlock_irqrestore(&chip->reg_lock, flags);
#if 1
snd_wss_mce_down(chip);
Expand Down

0 comments on commit b4e2a16

Please sign in to comment.