Comment 6 for bug 11149

Revision history for this message
Mark Stosberg (markstos) wrote : PATCH: fix snd_cs46xx does not work after suspend/resume cycle

Despite the referenced kernel patch from 6/2006, I still reproduced this with Edgy and the 2.6.17 kernel.

I'm contributing that fix that has worked reliably for me with Mandriva on T20 for the last couple years. The Mandriva code is under the GPL, and I've modified some myself for use with Ubuntu.

Here's the overview of how the solution works:

A new option, "RESTORE_SOUND" is added to /etc/default/acpi-support/. If enabled, all programs that are using the sound card at suspend time are unceremoniously killed. This allows the sound modules to be properly removed from the kernel, for which there is already support elsewhere. Upon resume, the programs are all restarted. It's not ideal (that's why it's an option!), but it has worked well enough for me. Realize there is what I find to be a tolerable amount of possible "data loss" involved. For example, the playlist you have in Exaile may not be saved through the kill/restart. It's a good rule of thumb to save work before suspending anyway!

Together with this patch I use the following line for MODULES in /etc/default/acpi-support:

MODULES="sb uart401 sound soundcore maestro cs4281 snd-cs46xx"

I realize the /best/ fix for the sound hardware drivers or kernel to work better in this case, but I think including Mandriva's solution as /option/ would be very helpful for people who still have the sound-after-suspend problem without a better solution.

I'll be attaching the needed patch attachments shortly.