Skip to content

alsa: Improve resume logic after ALSA suspend

Georg Chini requested to merge gchini/pulseaudio:alsa_suspend into master

Currently, when a system is waking up from suspend, the resume process of the ALSA sink and source is unstable. Sometimes the device needs to be restarted multiple times and when the system was suspended between snd_pcm_mmap_begin() and snd_pcm_mmap_commit(), pulseaudio crashes on resume. Additionally, variables are not reset after the resume, so that sink/source report wrong latencies.

This patch fixes the issues by closing and re-opening the PCM if recovery from an error condition is not possible. Additionally, the variables are reset, so that latencies are reported correctly.

Edited by Georg Chini

Merge request reports