diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index 806f1fb..deac5e8 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c @@ -177,6 +177,8 @@ static inline int snd_pcm_update_hw_ptr_post(struct snd_pcm_substream *substream xrun(substream); return -EPIPE; } + printk(KERN_DEBUG "avail %lu max %lu min %lu\n", avail, runtime->avail_max, + runtime->control->avail_min); if (avail >= runtime->control->avail_min) wake_up(&runtime->sleep); return 0; @@ -1651,6 +1653,10 @@ static snd_pcm_sframes_t snd_pcm_lib_write1(struct snd_pcm_substream *substream, if (runtime->sleep_min == 0 && runtime->status->state == SNDRV_PCM_STATE_RUNNING) snd_pcm_update_hw_ptr(substream); avail = snd_pcm_playback_avail(runtime); + printk(KERN_DEBUG "writei size %lu avail %lu min %lu xfer %lu state %d\n", + size, avail, runtime->control->avail_min, runtime->xfer_align, + runtime->status->state); + if (((avail < runtime->control->avail_min && size > avail) || (size >= runtime->xfer_align && avail < runtime->xfer_align))) { wait_queue_t wait; @@ -1695,6 +1701,8 @@ static snd_pcm_sframes_t snd_pcm_lib_write1(struct snd_pcm_substream *substream, break; } avail = snd_pcm_playback_avail(runtime); + printk(KERN_DEBUG "writei loop avail %lu min %lu\n", avail, + runtime->control->avail_min); if (avail >= runtime->control->avail_min) { state = READY; break;