diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 4aa8e2d35061403b26b883abc78c70fbda017208..3f44150d8e30b6a9d8f5920e497627b397c0f049 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -628,6 +628,12 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state) struct snd_soc_codec *codec = card->codec; int i; + /* If the initialization of this soc device failed, there is no codec + * associated with it. Just bail out in this case. + */ + if (!codec) + return 0; + /* Due to the resume being scheduled into a workqueue we could * suspend before that's finished - wait for it to complete. */