42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
|
From 08223128145b351a4d47b6d1780c13eac5d8df95 Mon Sep 17 00:00:00 2001
|
||
|
From: popcornmix <popcornmix@gmail.com>
|
||
|
Date: Sun, 27 Apr 2014 17:52:12 +0100
|
||
|
Subject: [PATCH 195/196] snd-bcm2835: Ensure alsa_stream is null on failure to
|
||
|
avoid kernel panic
|
||
|
|
||
|
---
|
||
|
sound/arm/bcm2835-pcm.c | 10 +++++-----
|
||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c
|
||
|
index 499e225..54a8f87 100755
|
||
|
--- a/sound/arm/bcm2835-pcm.c
|
||
|
+++ b/sound/arm/bcm2835-pcm.c
|
||
|
@@ -136,6 +136,11 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream)
|
||
|
alsa_stream->enable_fifo_irq = 0;
|
||
|
alsa_stream->fifo_irq_handler = bcm2835_playback_fifo_irq;
|
||
|
|
||
|
+ err = bcm2835_audio_open(alsa_stream);
|
||
|
+ if (err != 0) {
|
||
|
+ kfree(alsa_stream);
|
||
|
+ return err;
|
||
|
+ }
|
||
|
runtime->private_data = alsa_stream;
|
||
|
runtime->private_free = snd_bcm2835_playback_free;
|
||
|
runtime->hw = snd_bcm2835_playback_hw;
|
||
|
@@ -143,11 +148,6 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream)
|
||
|
snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES,
|
||
|
16);
|
||
|
|
||
|
- err = bcm2835_audio_open(alsa_stream);
|
||
|
- if (err != 0) {
|
||
|
- kfree(alsa_stream);
|
||
|
- return err;
|
||
|
- }
|
||
|
chip->alsa_stream[idx] = alsa_stream;
|
||
|
|
||
|
alsa_stream->open = 1;
|
||
|
--
|
||
|
1.9.1
|
||
|
|