summaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorTakashi Iwai2010-08-18 15:17:52 +0200
committerTakashi Iwai2010-08-18 15:17:52 +0200
commite7cfbea9cb7a02ea29fdae5d39c9e3d09102c4d5 (patch)
tree37c20ec03e70dc7b5df1d02f16b6ac38d8ed1364 /sound/core
parentMerge branch 'topic/aloop' into topic/misc (diff)
parentALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter) (diff)
downloadkernel-qcow2-linux-e7cfbea9cb7a02ea29fdae5d39c9e3d09102c4d5.tar.gz
kernel-qcow2-linux-e7cfbea9cb7a02ea29fdae5d39c9e3d09102c4d5.tar.xz
kernel-qcow2-linux-e7cfbea9cb7a02ea29fdae5d39c9e3d09102c4d5.zip
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/pcm_native.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
index a3b2a6479246..134fc6c2e08d 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -978,6 +978,10 @@ static int snd_pcm_do_pause(struct snd_pcm_substream *substream, int push)
{
if (substream->runtime->trigger_master != substream)
return 0;
+ /* some drivers might use hw_ptr to recover from the pause -
+ update the hw_ptr now */
+ if (push)
+ snd_pcm_update_hw_ptr(substream);
/* The jiffies check in snd_pcm_update_hw_ptr*() is done by
* a delta betwen the current jiffies, this gives a large enough
* delta, effectively to skip the check once.