snd_ich not reset on suspend/resume

Nate Lawson nate at root.org
Sun Aug 24 20:08:17 PDT 2003


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


More information about the freebsd-current mailing list