diff options
Diffstat (limited to 'kernel/sound/soc/atmel/atmel_ssc_dai.c')
-rw-r--r-- | kernel/sound/soc/atmel/atmel_ssc_dai.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sound/soc/atmel/atmel_ssc_dai.c b/kernel/sound/soc/atmel/atmel_ssc_dai.c index ba8def566..6726143c7 100644 --- a/kernel/sound/soc/atmel/atmel_ssc_dai.c +++ b/kernel/sound/soc/atmel/atmel_ssc_dai.c @@ -298,8 +298,9 @@ static int atmel_ssc_startup(struct snd_pcm_substream *substream, clk_enable(ssc_p->ssc->clk); ssc_p->mck_rate = clk_get_rate(ssc_p->ssc->clk); - /* Reset the SSC to keep it at a clean status */ - ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST)); + /* Reset the SSC unless initialized to keep it in a clean state */ + if (!ssc_p->initialized) + ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST)); if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { dir = 0; |