diff --git a/sound/soc/at91/at91-i2s.c b/sound/soc/at91/at91-i2s.c
index 203e6948cd99d66074c827bee03c39874753cfa1..876d391c7013b4fcfcb81c2c142aaf519c1f13ea 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;
 }