diff options
author | Takashi Iwai | 2010-12-13 09:29:52 +0100 |
---|---|---|
committer | Takashi Iwai | 2010-12-13 09:29:52 +0100 |
commit | 354d14b3f53cc749c5d26d4ba7280d1e931d6bc4 (patch) | |
tree | 59b597e44902d8db8bde7deac1e7e707327c6fe6 /sound/soc/nuc900/nuc900-pcm.c | |
parent | ALSA: aoa: Remove wrong i2c_set_clientdata in onyx_i2c_remove() (diff) | |
parent | sound: don't use flush_scheduled_work() (diff) | |
download | kernel-qcow2-linux-354d14b3f53cc749c5d26d4ba7280d1e931d6bc4.tar.gz kernel-qcow2-linux-354d14b3f53cc749c5d26d4ba7280d1e931d6bc4.tar.xz kernel-qcow2-linux-354d14b3f53cc749c5d26d4ba7280d1e931d6bc4.zip |
Merge branch 'topic/workq-update' into topic/misc
Diffstat (limited to 'sound/soc/nuc900/nuc900-pcm.c')
-rw-r--r-- | sound/soc/nuc900/nuc900-pcm.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c index 195d1ac94771..8263f56dc665 100644 --- a/sound/soc/nuc900/nuc900-pcm.c +++ b/sound/soc/nuc900/nuc900-pcm.c @@ -50,12 +50,12 @@ static int nuc900_dma_hw_params(struct snd_pcm_substream *substream, unsigned long flags; int ret = 0; - spin_lock_irqsave(&nuc900_audio->lock, flags); - ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); if (ret < 0) return ret; + spin_lock_irqsave(&nuc900_audio->lock, flags); + nuc900_audio->substream = substream; nuc900_audio->dma_addr[substream->stream] = runtime->dma_addr; nuc900_audio->buffersize[substream->stream] = @@ -169,6 +169,7 @@ static int nuc900_dma_prepare(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime = substream->runtime; struct nuc900_audio *nuc900_audio = runtime->private_data; unsigned long flags, val; + int ret = 0; spin_lock_irqsave(&nuc900_audio->lock, flags); @@ -197,10 +198,10 @@ static int nuc900_dma_prepare(struct snd_pcm_substream *substream) AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); break; default: - return -EINVAL; + ret = -EINVAL; } spin_unlock_irqrestore(&nuc900_audio->lock, flags); - return 0; + return ret; } static int nuc900_dma_trigger(struct snd_pcm_substream *substream, int cmd) @@ -332,7 +333,7 @@ static struct snd_soc_platform_driver nuc900_soc_platform = { .ops = &nuc900_dma_ops, .pcm_new = nuc900_dma_new, .pcm_free = nuc900_dma_free_dma_buffers, -} +}; static int __devinit nuc900_soc_platform_probe(struct platform_device *pdev) { |