diff --git a/sound/soc/tegra-alt/tegra210_adsp_alt.c b/sound/soc/tegra-alt/tegra210_adsp_alt.c index 4098cb42..24c6afff 100644 --- a/sound/soc/tegra-alt/tegra210_adsp_alt.c +++ b/sound/soc/tegra-alt/tegra210_adsp_alt.c @@ -316,8 +316,6 @@ static int tegra210_adsp_init(struct tegra210_adsp *adsp) if (!adsp_app_desc[i].handle) { dev_err(adsp->dev, "Failed to load app %s", adsp_app_desc[i].name); - nvadsp_os_stop(); - goto exit; } } @@ -533,6 +531,10 @@ static int tegra210_adsp_app_init(struct tegra210_adsp *adsp, if (app->info || IS_APM_OUT(app->reg)) return 0; + if (!app->desc->handle) { + return -ENODEV; + } + app->info = nvadsp_app_init(app->desc->handle, NULL); if (!app->info) { dev_err(adsp->dev, "Failed to init app %s(%s).", @@ -1685,7 +1687,8 @@ static int tegra210_adsp_mux_put(struct snd_kcontrol *kcontrol, } else { ret = tegra210_adsp_app_init(adsp, app); if (ret < 0) { - dev_err(adsp->dev, "Failed to init app."); + dev_err(adsp->dev, "Failed to init app %s(%s)", + app->desc->name, app->desc->fw_name); goto err_put; } }