I found a conflict after using "echo -n "mem" > /sys/power/state" to suspend. This really seems to throw a wrench into the sound modules. For example, /dev/dsp existed but couldn't be found when loading xmms. My microphone was actually working at one point even though OSS sound was off. although generally if OSS isn't working properly, it's off. Right now, I'm deleting /dev/dsp and turning OSS sound off when suspending. It's interesting, though, that turning the sound back on (which loads a new /dev/dsp isn't sufficient. I have to first turn the sound off again before turning it on for things to work. I'm hoping this solves the freeze issue.
Edit: What seems to be working:
1. add "sudo soundoff" and "sudo rm dev/dsp" to suspend script
2. script to turn on sound after suspend:
sudo soundon
sudo soundoff
sudo soundon
Edit 2: Found it's also necessary to kill xmms before suspending (or soundoff won't work, and computer will continue to freeze). I added "killall xmms" to suspend script for this. (note...or just make sure it's turned off before suspending).
I added a button on the tray to run this. I'm not sure why OSS needs to be toggled to work, but that seems to be the case after a suspend on this machine. OSS seems to take over other drivers, for example native drivers for the onboard microphone jack that otherwise would work independently of OSS. Once OSS is working, the microphone is controlled by ossmix and can be turned off (otherwise it's on). Hopefully this will resolve freezes....
curaga.... I think I still have tc-mixer somewhere and will see if this was the issue around the freezing if you like....