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