From ffc26918ab5674b286a4bc07dac7e011cea83e97 Mon Sep 17 00:00:00 2001
From: Frank Mandarino <fmandarino@endrelia.com>
Date: Mon, 8 Jan 2007 10:58:47 +0100
Subject: [PATCH] [ALSA] ASoC at91 - Fix NULL pointer dereference in
 at91_i2s_shutdown

This patch fixes a NULL pointer exception which occurs when a
substream is opened and immediately closed.

Signed-off-by: Frank Mandarino <fmandarino@endrelia.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
---
 sound/soc/at91/at91-i2s.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sound/soc/at91/at91-i2s.c b/sound/soc/at91/at91-i2s.c
index 203e6948cd99..876d391c7013 100644
--- a/sound/soc/at91/at91-i2s.c
+++ b/sound/soc/at91/at91-i2s.c
@@ -296,6 +296,13 @@ static int at91_i2s_startup(struct snd_pcm_substream *substream)
 	ssc_p->dir_mask |= dir_mask;
 	spin_unlock_irq(&ssc_p->lock);
 
+	/*
+	 * dma_data is not set until hw_params() is called and
+	 * shutdown() depends on this value being NULL if hw_params()
+	 * was not called.
+	 */
+	rtd->cpu_dai->dma_data = NULL;
+
 	return 0;
 }
 
-- 
GitLab