Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Aug 2003 20:08:14 -0700 (PDT)
From:      Nate Lawson <nate@root.org>
To:        current@freebsd.org
Subject:   snd_ich not reset on suspend/resume
Message-ID:  <20030824200442.J15031@root.org>

next in thread | raw e-mail | index | archive | help
I have the following audio device on my laptop:
pcm0: <Intel ICH3 (82801CA)> port 0x18c0-0x18ff,0x1c00-0x1cff irq 11 at
device 31.5 on pci0
pcm0: <Cirrus Logic CS4299 AC97 Codec>

After a suspend/resume, it prints the following messages:
pcm0: Unhandled interrupt, gs_intr = 86
pcm0: Unhandled interrupt, gs_intr = 86
pcm0: Unhandled interrupt, gs_intr = 86
pcm0: CODEC semaphore timeout
pcm0: CODEC semaphore timeout
pcm0: CODEC semaphore timeout
[all repeated many more times]

So I unload and reload the kernel module and it appears to detect the
sound chip ok.  However, after about 30 seconds of playing audio, it hangs
with:

pcm0:play:0: play interrupt timeout, channel dead

All interrupts on the machine die (including my fxp0 ethernet) for about
30 more seconds.  At that point, the network comes back but the audio does
not work any more.

I've noticed other devices which do not have suspend/resume support.
Would it be useful for me to maintain a status page of devices and their
ability to suspend and resume (similar to the device locking page)?

-Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030824200442.J15031>