|
@@ -339,7 +339,7 @@ static int snd_pcm_update_hw_ptr0(struct snd_pcm_substream *substream,
|
|
if (delta > new_hw_ptr) {
|
|
if (delta > new_hw_ptr) {
|
|
/* check for double acknowledged interrupts */
|
|
/* check for double acknowledged interrupts */
|
|
hdelta = curr_jiffies - runtime->hw_ptr_jiffies;
|
|
hdelta = curr_jiffies - runtime->hw_ptr_jiffies;
|
|
- if (hdelta > runtime->hw_ptr_buffer_jiffies/2) {
|
|
|
|
|
|
+ if (hdelta > runtime->hw_ptr_buffer_jiffies/2 + 1) {
|
|
hw_base += runtime->buffer_size;
|
|
hw_base += runtime->buffer_size;
|
|
if (hw_base >= runtime->boundary) {
|
|
if (hw_base >= runtime->boundary) {
|
|
hw_base = 0;
|
|
hw_base = 0;
|