Update of /cvsroot/alsa/alsa-kernel/core
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6631
Modified Files:
pcm_native.c
Log Message:
Call hwsync at the start of SYNC_PTR ioctl
Index: pcm_native.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/core/pcm_native.c,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- pcm_native.c 17 May 2004 06:47:18 -0000 1.89
+++ pcm_native.c 17 May 2004 06:58:42 -0000 1.90
@@ -2341,6 +2341,7 @@
struct sndrv_pcm_sync_ptr sync_ptr;
volatile struct sndrv_pcm_mmap_status *status;
volatile struct sndrv_pcm_mmap_control *control;
+ int err;
memset(&sync_ptr, 0, sizeof(sync_ptr));
if (get_user(sync_ptr.flags, (unsigned int *) &(_sync_ptr->flags)))
@@ -2349,6 +2350,11 @@
return -EFAULT;
status = runtime->status;
control = runtime->control;
+ if (sync_ptr.flags & SNDRV_PCM_SYNC_PTR_HWSYNC) {
+ err = snd_pcm_hwsync(substream);
+ if (err < 0)
+ return err;
+ }
snd_pcm_stream_lock_irq(substream);
control->appl_ptr = sync_ptr.c.control.appl_ptr;
control->avail_min = sync_ptr.c.control.avail_min;
@@ -2357,12 +2363,8 @@
sync_ptr.s.status.tstamp = status->tstamp;
sync_ptr.s.status.suspended_state = status->suspended_state;
snd_pcm_stream_unlock_irq(substream);
- if (copy_to_user(_sync_ptr, &sync_ptr, sizeof(sync_ptr))) {
+ if (copy_to_user(_sync_ptr, &sync_ptr, sizeof(sync_ptr)))
return -EFAULT;
- } else {
- if (sync_ptr.flags & SNDRV_PCM_SYNC_PTR_HWSYNC)
- return snd_pcm_hwsync(substream);
- }
return 0;
}
-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog