Commit e8f0f8aa authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'asoc/fix/atmel', 'asoc/fix/compress',...

Merge remote-tracking branches 'asoc/fix/atmel', 'asoc/fix/compress', 'asoc/fix/da7213' and 'asoc/fix/debugfs' into asoc-linus
...@@ -299,8 +299,9 @@ static int atmel_ssc_startup(struct snd_pcm_substream *substream, ...@@ -299,8 +299,9 @@ static int atmel_ssc_startup(struct snd_pcm_substream *substream,
clk_enable(ssc_p->ssc->clk); clk_enable(ssc_p->ssc->clk);
ssc_p->mck_rate = clk_get_rate(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 */ /* Reset the SSC unless initialized to keep it in a clean state */
ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST)); if (!ssc_p->initialized)
ssc_writel(ssc_p->ssc->regs, CR, SSC_BIT(CR_SWRST));
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
dir = 0; dir = 0;
......
...@@ -1247,8 +1247,8 @@ static int da7213_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) ...@@ -1247,8 +1247,8 @@ static int da7213_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
return -EINVAL; return -EINVAL;
} }
/* By default only 32 BCLK per WCLK is supported */ /* By default only 64 BCLK per WCLK is supported */
dai_clk_mode |= DA7213_DAI_BCLKS_PER_WCLK_32; dai_clk_mode |= DA7213_DAI_BCLKS_PER_WCLK_64;
snd_soc_write(codec, DA7213_DAI_CLK_MODE, dai_clk_mode); snd_soc_write(codec, DA7213_DAI_CLK_MODE, dai_clk_mode);
snd_soc_update_bits(codec, DA7213_DAI_CTRL, DA7213_DAI_FORMAT_MASK, snd_soc_update_bits(codec, DA7213_DAI_CTRL, DA7213_DAI_FORMAT_MASK,
......
...@@ -121,7 +121,7 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream) ...@@ -121,7 +121,7 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
dpcm_be_disconnect(fe, stream); dpcm_be_disconnect(fe, stream);
fe->dpcm[stream].runtime = NULL; fe->dpcm[stream].runtime = NULL;
goto fe_err; goto path_err;
} }
dpcm_clear_pending_state(fe, stream); dpcm_clear_pending_state(fe, stream);
...@@ -136,6 +136,8 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream) ...@@ -136,6 +136,8 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
return 0; return 0;
path_err:
dpcm_path_put(&list);
fe_err: fe_err:
if (fe->dai_link->compr_ops && fe->dai_link->compr_ops->shutdown) if (fe->dai_link->compr_ops && fe->dai_link->compr_ops->shutdown)
fe->dai_link->compr_ops->shutdown(cstream); fe->dai_link->compr_ops->shutdown(cstream);
......
...@@ -2083,14 +2083,13 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card) ...@@ -2083,14 +2083,13 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
/* remove auxiliary devices */ /* remove auxiliary devices */
soc_remove_aux_devices(card); soc_remove_aux_devices(card);
snd_soc_dapm_free(&card->dapm);
soc_cleanup_card_debugfs(card); soc_cleanup_card_debugfs(card);
/* remove the card */ /* remove the card */
if (card->remove) if (card->remove)
card->remove(card); card->remove(card);
snd_soc_dapm_free(&card->dapm);
snd_card_free(card->snd_card); snd_card_free(card->snd_card);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment