aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>2010-02-22 06:27:13 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-02-22 09:39:42 -0500
commitb9dd94a87e5b4d0e864636698931aeeeb3c9d770 (patch)
treea605b64474c3e4e6016720b62f479f1e1b6eaca5
parent6c5f1fed49f96a0600aa9a97ac3faf972c33a341 (diff)
ASoC: core: On resume also check the soc device state
Check the card->codec on soc_resume to detect if the soc device is properly initialized. If the card->codec is NULL, than do not continue the resume operation, since the device is not initialized properly. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/soc-core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index e1c0336868e1..a03bac943aaf 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -963,6 +963,12 @@ static int soc_resume(struct device *dev)
963 struct snd_soc_card *card = socdev->card; 963 struct snd_soc_card *card = socdev->card;
964 struct snd_soc_dai *cpu_dai = card->dai_link[0].cpu_dai; 964 struct snd_soc_dai *cpu_dai = card->dai_link[0].cpu_dai;
965 965
966 /* If the initialization of this soc device failed, there is no codec
967 * associated with it. Just bail out in this case.
968 */
969 if (!card->codec)
970 return 0;
971
966 /* AC97 devices might have other drivers hanging off them so 972 /* AC97 devices might have other drivers hanging off them so
967 * need to resume immediately. Other drivers don't have that 973 * need to resume immediately. Other drivers don't have that
968 * problem and may take a substantial amount of time to resume 974 * problem and may take a substantial amount of time to resume