diff options
author | Mark Brown <broonie@kernel.org> | 2021-04-23 21:01:02 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-04-23 21:01:02 +0300 |
commit | ffc9841d5200a484ea0ecc645157b4d7b873f3a6 (patch) | |
tree | c5216df939963608cefcd94bdf2934a2b880b54d /sound/soc/sof/core.c | |
parent | d143a69fd452a047440391fcbe290ff416b14ab5 (diff) | |
parent | 25c4a9b614f101bb9f3e687960815db7dc439c0f (diff) | |
download | linux-ffc9841d5200a484ea0ecc645157b4d7b873f3a6.tar.xz |
Merge remote-tracking branch 'asoc/for-5.13' into asoc-next
Diffstat (limited to 'sound/soc/sof/core.c')
-rw-r--r-- | sound/soc/sof/core.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c index 4a3d522f612b..3e4dd4a86363 100644 --- a/sound/soc/sof/core.c +++ b/sound/soc/sof/core.c @@ -154,7 +154,7 @@ static int sof_probe_continue(struct snd_sof_dev *sdev) if (ret < 0) { dev_err(sdev->dev, "error: failed to get machine info %d\n", ret); - goto dbg_err; + goto dsp_err; } /* set up platform component driver */ @@ -232,8 +232,11 @@ static int sof_probe_continue(struct snd_sof_dev *sdev) } ret = snd_sof_machine_register(sdev, plat_data); - if (ret < 0) + if (ret < 0) { + dev_err(sdev->dev, + "error: failed to register machine driver %d\n", ret); goto fw_trace_err; + } /* * Some platforms in SOF, ex: BYT, may not have their platform PM @@ -257,8 +260,9 @@ fw_run_err: fw_load_err: snd_sof_ipc_free(sdev); ipc_err: - snd_sof_free_debug(sdev); dbg_err: + snd_sof_free_debug(sdev); +dsp_err: snd_sof_remove(sdev); /* all resources freed, update state to match */ @@ -308,8 +312,10 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data) !sof_ops(sdev)->block_read || !sof_ops(sdev)->block_write || !sof_ops(sdev)->send_msg || !sof_ops(sdev)->load_firmware || !sof_ops(sdev)->ipc_msg_data || !sof_ops(sdev)->ipc_pcm_params || - !sof_ops(sdev)->fw_ready) + !sof_ops(sdev)->fw_ready) { + dev_err(dev, "error: missing mandatory ops\n"); return -EINVAL; + } INIT_LIST_HEAD(&sdev->pcm_list); INIT_LIST_HEAD(&sdev->kcontrol_list); |