|
@@ -771,6 +771,9 @@ static int sst_soc_prepare(struct device *dev)
|
|
|
struct sst_data *drv = dev_get_drvdata(dev);
|
|
|
struct snd_soc_pcm_runtime *rtd;
|
|
|
|
|
|
+ if (!drv->soc_card)
|
|
|
+ return 0;
|
|
|
+
|
|
|
/* suspend all pcms first */
|
|
|
snd_soc_suspend(drv->soc_card->dev);
|
|
|
snd_soc_poweroff(drv->soc_card->dev);
|
|
@@ -793,6 +796,9 @@ static void sst_soc_complete(struct device *dev)
|
|
|
struct sst_data *drv = dev_get_drvdata(dev);
|
|
|
struct snd_soc_pcm_runtime *rtd;
|
|
|
|
|
|
+ if (!drv->soc_card)
|
|
|
+ return;
|
|
|
+
|
|
|
/* restart SSPs */
|
|
|
list_for_each_entry(rtd, &drv->soc_card->rtd_list, list) {
|
|
|
struct snd_soc_dai *dai = rtd->cpu_dai;
|