summaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-11-23 14:28:42 +0100
committerTakashi Iwai <tiwai@suse.de>2012-11-23 15:37:32 +0100
commit3f94fad09538ec988919ec3f371841182df71d04 (patch)
treec37b1d2d412850ae03c0d4ffc9a8cd585eab866a /sound/usb
parentffe4d12b151018e831f0ca2e05fe78a55238c517 (diff)
downloadlinux-stable-3f94fad09538ec988919ec3f371841182df71d04.tar.gz
linux-stable-3f94fad09538ec988919ec3f371841182df71d04.tar.bz2
linux-stable-3f94fad09538ec988919ec3f371841182df71d04.zip
ALSA: usb-audio: ignore delay calculation for capture stream
It doesn't make sense to calculate the delay for capture streams in the current implementation. It's always zero, so we should skip the computation in snd_usb_pcm_pointer() in the case of capture. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/pcm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index e919c2e40fa0..8e1d5e00c182 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -75,7 +75,8 @@ static snd_pcm_uframes_t snd_usb_pcm_pointer(struct snd_pcm_substream *substream
return SNDRV_PCM_POS_XRUN;
spin_lock(&subs->lock);
hwptr_done = subs->hwptr_done;
- substream->runtime->delay = snd_usb_pcm_delay(subs,
+ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+ substream->runtime->delay = snd_usb_pcm_delay(subs,
substream->runtime->rate);
spin_unlock(&subs->lock);
return hwptr_done / (substream->runtime->frame_bits >> 3);