diff options
author | Mark Brown <broonie@kernel.org> | 2018-09-10 18:55:12 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-09-10 18:55:12 +0100 |
commit | 54a3da1c105ca91c4d32f25c3d9c57a61e9a3467 (patch) | |
tree | 5be69ff9ccab03760f2ae17cbaecbfea0b016087 /sound/soc/sh/rcar/core.c | |
parent | 1c8bc7b3de5e76cb89aacdc7be1475a028af505f (diff) | |
parent | 90a3b7f8aba3011badacd6d8121e03aa24ac79d1 (diff) |
Merge branch 'asoc-4.19' into asoc-4.20 Cirrus conflict
Diffstat (limited to 'sound/soc/sh/rcar/core.c')
-rw-r--r-- | sound/soc/sh/rcar/core.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index e46415c807a0..40d7dc4f7839 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -482,7 +482,7 @@ static int rsnd_status_update(u32 *status, (func_call && (mod)->ops->fn) ? #fn : ""); \ if (func_call && (mod)->ops->fn) \ tmp = (mod)->ops->fn(mod, io, param); \ - if (tmp) \ + if (tmp && (tmp != -EPROBE_DEFER)) \ dev_err(dev, "%s[%d] : %s error %d\n", \ rsnd_mod_name(mod), rsnd_mod_id(mod), \ #fn, tmp); \ @@ -1557,6 +1557,14 @@ exit_snd_probe: rsnd_dai_call(remove, &rdai->capture, priv); } + /* + * adg is very special mod which can't use rsnd_dai_call(remove), + * and it registers ADG clock on probe. + * It should be unregister if probe failed. + * Mainly it is assuming -EPROBE_DEFER case + */ + rsnd_adg_remove(priv); + return ret; } |