Loading sound/usb/caiaq/audio.c +9 −3 Original line number Diff line number Diff line Loading @@ -269,16 +269,22 @@ snd_usb_caiaq_pcm_pointer(struct snd_pcm_substream *sub) { int index = sub->number; struct snd_usb_caiaqdev *dev = snd_pcm_substream_chip(sub); snd_pcm_uframes_t ptr; spin_lock(&dev->spinlock); if (dev->input_panic || dev->output_panic) return SNDRV_PCM_POS_XRUN; ptr = SNDRV_PCM_POS_XRUN; if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK) return bytes_to_frames(sub->runtime, ptr = bytes_to_frames(sub->runtime, dev->audio_out_buf_pos[index]); else return bytes_to_frames(sub->runtime, ptr = bytes_to_frames(sub->runtime, dev->audio_in_buf_pos[index]); spin_unlock(&dev->spinlock); return ptr; } /* operators for both playback and capture */ Loading Loading
sound/usb/caiaq/audio.c +9 −3 Original line number Diff line number Diff line Loading @@ -269,16 +269,22 @@ snd_usb_caiaq_pcm_pointer(struct snd_pcm_substream *sub) { int index = sub->number; struct snd_usb_caiaqdev *dev = snd_pcm_substream_chip(sub); snd_pcm_uframes_t ptr; spin_lock(&dev->spinlock); if (dev->input_panic || dev->output_panic) return SNDRV_PCM_POS_XRUN; ptr = SNDRV_PCM_POS_XRUN; if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK) return bytes_to_frames(sub->runtime, ptr = bytes_to_frames(sub->runtime, dev->audio_out_buf_pos[index]); else return bytes_to_frames(sub->runtime, ptr = bytes_to_frames(sub->runtime, dev->audio_in_buf_pos[index]); spin_unlock(&dev->spinlock); return ptr; } /* operators for both playback and capture */ Loading