Patch "ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure" has been added to the 4.14-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
asoc-fsl_ssi-ac-97-ops-need-regmap-clock-and-cleaning-up-on-failure.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
695b78b548d8a26288f041e907ff17758df9e1d5Mon Sep 17 00:00:00 2001
From: "Maciej S. Szmigiero" <[email protected]>
Date: Mon, 20 Nov 2017 23:14:55 +0100
Subject: ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure
From: Maciej S. Szmigiero <[email protected]>
commit 695b78b548d8a26288f041e907ff17758df9e1d5 upstream.
AC'97 ops (register read / write) need SSI regmap and clock, so they have to be set after them.
We also need to set these ops back to NULL if we fail the probe.
--- sound/soc/fsl/fsl_ssi.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
sound/soc/fsl/fsl_ssi.c +12 -6
@@ -1452,12 +1452,6 @@ static int fsl_ssi_probe(struct platform sizeof(fsl_ssi_ac97_dai)); fsl_ac97_data = ssi_private; - - ret =snd_soc_set_ac97_ops_of_reset (&fsl_ssi_ac97_ops, pdev); -if (ret) { -dev_err (&pdev->dev,"could not set AC'97 ops\n" ); -return ret; - } }else {/* Initialize this copy of the CPU DAI driver structure */ memcpy(&ssi_private->cpu_dai_drv, &fsl_ssi_dai_template,
@@ -1568,6 +1562,14 @@ static int fsl_ssi_probe(struct platformreturn ret; } +if (fsl_ssi_is_ac97 (ssi_private)) { + ret =snd_soc_set_ac97_ops_of_reset (&fsl_ssi_ac97_ops, pdev); +if (ret) { +dev_err (&pdev->dev,"could not set AC'97 ops\n" ); + goto error_ac97_ops; + } + } + ret =devm_snd_soc_register_component (&pdev->dev, &fsl_ssi_component, &ssi_private->cpu_dai_drv,1 );if (ret) {
@@ -1651,6 +1653,10 @@ error_sound_card:fsl_ssi_debugfs_remove (&ssi_private->dbg_stats); error_asoc_register: +if (fsl_ssi_is_ac97 (ssi_private)) +snd_soc_set_ac97_ops (NULL ); + +error_ac97_ops:if (ssi_private->soc->imx)fsl_ssi_imx_clean (pdev, ssi_private);
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/asoc-fsl_ssi-ac-97-ops-need-regmap-clock-and-cleaning-up-on-failure.patch