summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/arm/aaci.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index ea3be874c84f..2e28748a3d8d 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -438,18 +438,14 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
err = snd_pcm_lib_malloc_pages(substream,
params_buffer_bytes(params));
- if (err < 0)
- goto out;
-
- err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params),
- params_channels(params),
- aacirun->pcm->r[0].slots);
- if (err)
- goto out;
+ if (err >= 0) {
+ err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params),
+ params_channels(params),
+ aacirun->pcm->r[0].slots);
- aacirun->pcm_open = 1;
+ aacirun->pcm_open = err == 0;
+ }
- out:
return err;
}
@@ -458,7 +454,7 @@ static int aaci_pcm_prepare(struct snd_pcm_substream *substream)
struct snd_pcm_runtime *runtime = substream->runtime;
struct aaci_runtime *aacirun = runtime->private_data;
- aacirun->start = (void *)runtime->dma_area;
+ aacirun->start = runtime->dma_area;
aacirun->end = aacirun->start + snd_pcm_lib_buffer_bytes(substream);
aacirun->ptr = aacirun->start;
aacirun->period =