Merge "ALSA: pcm: fix blocking while loop in snd_pcm_update_hw_ptr0()"

This commit is contained in:
Linux Build Service Account 2017-02-03 06:26:56 -08:00 committed by Gerrit - the friendly Code Review server
commit 376ee68bbf

View file

@ -375,7 +375,8 @@ static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
* the elapsed time to detect xruns.
*/
jdelta = curr_jiffies - runtime->hw_ptr_jiffies;
if (jdelta < runtime->hw_ptr_buffer_jiffies / 2)
if ((jdelta < runtime->hw_ptr_buffer_jiffies / 2) ||
(runtime->hw_ptr_buffer_jiffies <= 0))
goto no_delta_check;
hdelta = jdelta - delta * HZ / runtime->rate;
xrun_threshold = runtime->hw_ptr_buffer_jiffies / 2 + 1;