]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/soc/omap/omap-pcm.c
Merge branch 'for-2.6.29' into for-2.6.30
[linux-2.6-omap-h63xx.git] / sound / soc / omap / omap-pcm.c
index 607a38c7ae48c578bdd28351cb32fa263efe5fe1..8e1431cb46bbcb20008c6597e512b7eb71e41545 100644 (file)
@@ -175,9 +175,10 @@ static int omap_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
 {
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct omap_runtime_data *prtd = runtime->private_data;
+       unsigned long flags;
        int ret = 0;
 
-       spin_lock_irq(&prtd->lock);
+       spin_lock_irqsave(&prtd->lock, flags);
        switch (cmd) {
        case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
@@ -195,7 +196,7 @@ static int omap_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
        default:
                ret = -EINVAL;
        }
-       spin_unlock_irq(&prtd->lock);
+       spin_unlock_irqrestore(&prtd->lock, flags);
 
        return ret;
 }