X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=sound%2Fsoc%2Fomap%2Fomap-pcm.c;h=dd3bb293376277d180749a31783bcb34efdf040c;hb=21dff4345697ad129b0efeed1b4d0aa53dfd47fe;hp=b0362dfd5b719a50839503fd39992c9d6ec8df0d;hpb=ef390c0b6e3f4d2d2d43f53f4bd35e1884571a14;p=linux-2.6-omap-h63xx.git diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c index b0362dfd5b7..dd3bb293376 100644 --- a/sound/soc/omap/omap-pcm.c +++ b/sound/soc/omap/omap-pcm.c @@ -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; }