diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2013-03-07 17:42:33 -0800 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-12 18:34:59 +0000 |
commit | e1328a832c7eeeb4dd3c3666605717c555de9e83 (patch) | |
tree | 6c5120e1f62a56f93d0f31d7547798e80c31bc05 /sound/soc/soc-core.c | |
parent | 2db6be6a7b3edc8a5acea99b817eb7b9e608e931 (diff) | |
download | blackbird-op-linux-e1328a832c7eeeb4dd3c3666605717c555de9e83.tar.gz blackbird-op-linux-e1328a832c7eeeb4dd3c3666605717c555de9e83.zip |
ASoC: core: remove codec from list if registration failed
Current snd_soc_register_codec() adds codec to list, and calls
snd_soc_register_dais().
But, this listed codec should be removed if dais registration
was failed.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r-- | sound/soc/soc-core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index e02c374d2243..0ce075c47b25 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -4096,6 +4096,10 @@ int snd_soc_register_codec(struct device *dev, return 0; fail_codec_name: + mutex_lock(&client_mutex); + list_del(&codec->list); + mutex_unlock(&client_mutex); + kfree(codec->name); fail_codec: kfree(codec); |