After some more tinkering I've developed a reliable workaround to this issue. The tricky part seems to be getting the ice1712 driver to unload in the short time window between killing pulseaudio and when pulseaudio automatically restarts. I am still a linux novice so I am certain that there are better ways to go about this, but here is the script that has worked for me:
This can be set to run automatically upon resume by creating a file in /usr/lib/pm-utils/sleep.d with the above code wrapped like so (found this tip at http://ubuntuforums.org/showthread.php?t=1484156):
After some more tinkering I've developed a reliable workaround to this issue. The tricky part seems to be getting the ice1712 driver to unload in the short time window between killing pulseaudio and when pulseaudio automatically restarts. I am still a linux novice so I am certain that there are better ways to go about this, but here is the script that has worked for me:
sudo killall pulseaudio; sudo rmmod snd_ice1712
sudo modprobe snd_ice1712
killall pulseaudio
This can be set to run automatically upon resume by creating a file in /usr/lib/ pm-utils/ sleep.d with the above code wrapped like so (found this tip at http:// ubuntuforums. org/showthread. php?t=1484156):
#!/bin/bash
case "$1" in
hibernate|suspend)
#do nothing
;;
thaw|resume)
sudo killall pulseaudio; sudo rmmod snd_ice1712
sudo modprobe snd_ice1712
killall pulseaudio
;;
*)
;;
esac
exit $?
This workaround seems to have my sound working as expected after resume with no interventions necessary.