Update of /cvsroot/alsa/alsa-kernel/core
In directory sc8-pr-cvs1:/tmp/cvs-serv19234

Modified Files:
        pcm_native.c 
Log Message:
- don't hold power lock while draining
- call trigger callback when suspending/resuming a draining substream


Index: pcm_native.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/core/pcm_native.c,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- pcm_native.c        10 Oct 2003 14:44:56 -0000      1.83
+++ pcm_native.c        21 Oct 2003 09:51:35 -0000      1.84
@@ -888,7 +888,8 @@
        snd_pcm_runtime_t *runtime = substream->runtime;
        if (runtime->trigger_master != substream)
                return 0;
-       if (runtime->status->suspended_state != SNDRV_PCM_STATE_RUNNING)
+       if (runtime->status->suspended_state != SNDRV_PCM_STATE_RUNNING &&
+           runtime->status->suspended_state != SNDRV_PCM_STATE_DRAINING)
                return 0;
        return substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_SUSPEND);
 }
@@ -962,7 +963,8 @@
        snd_pcm_runtime_t *runtime = substream->runtime;
        if (runtime->trigger_master != substream)
                return 0;
-       if (runtime->status->suspended_state != SNDRV_PCM_STATE_RUNNING)
+       if (runtime->status->suspended_state != SNDRV_PCM_STATE_RUNNING &&
+           runtime->status->suspended_state != SNDRV_PCM_STATE_DRAINING)
                return 0;
        return substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_RESUME);
 }
@@ -1243,7 +1245,9 @@
                }
                set_current_state(TASK_INTERRUPTIBLE);
                snd_pcm_stream_unlock_irq(substream);
+               snd_power_unlock(card);
                tout = schedule_timeout(10 * HZ);
+               snd_power_lock(card);
                snd_pcm_stream_lock_irq(substream);
                if (tout == 0) {
                        state = runtime->status->state == SNDRV_PCM_STATE_SUSPENDED ? 
SUSPENDED : EXPIRED;



-------------------------------------------------------
This SF.net email is sponsored by OSDN developer relations
Here's your chance to show off your extensive product knowledge
We want to know what you know. Tell us and you have a chance to win $100
http://www.zoomerang.com/survey.zgi?HRPT1X3RYQNC5V4MLNSV3E54
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to