aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/sound/pci/maestro3.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/maestro3.c b/sys/dev/sound/pci/maestro3.c
index fb3f34c961690..812fd911dcfa9 100644
--- a/sys/dev/sound/pci/maestro3.c
+++ b/sys/dev/sound/pci/maestro3.c
@@ -1307,6 +1307,8 @@ m3_pci_resume(device_t dev)
reset_state = m3_assp_halt(sc);
+ m3_codec_reset(sc);
+
/* Restore the ASSP state */
for (i = REV_B_CODE_MEMORY_BEGIN; i <= REV_B_CODE_MEMORY_END; i++)
m3_wr_assp_code(sc, i, sc->savemem[++index]);
@@ -1323,6 +1325,11 @@ m3_pci_resume(device_t dev)
m3_amp_enable(sc);
+ if (mixer_reinit(dev) == -1) {
+ device_printf(dev, "unable to reinitialize the mixer\n");
+ return ENXIO;
+ }
+
/* Turn the channels back on */
for (i=0 ; i<sc->pch_cnt ; i++) {
if (sc->pch[i].active) {