ASoC: soc-core: Add support for NULL default register caches

The infrastructure for handling NULL default register maps is already
included in the soc-cache code, just ensure that we don't try to dereference
a NULL pointer while accessing a NULL register cache.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Dimitris Papastamos 2011-01-10 10:10:56 +00:00 committed by Mark Brown
parent 0d51a9cbb6
commit 2aa86323d8
1 changed files with 7 additions and 5 deletions

View File

@ -3507,6 +3507,7 @@ int snd_soc_register_codec(struct device *dev,
* kernel might have freed the array by the time we initialize
* the cache.
*/
if (codec_drv->reg_cache_default) {
codec->reg_def_copy = kmemdup(codec_drv->reg_cache_default,
reg_size, GFP_KERNEL);
if (!codec->reg_def_copy) {
@ -3514,6 +3515,7 @@ int snd_soc_register_codec(struct device *dev,
goto fail;
}
}
}
for (i = 0; i < num_dai; i++) {
fixup_codec_formats(&dai_drv[i].playback);