ASoC: soc-cache: dereferencing before checking

The patch c358e640a6 "ASoC: soc-cache: Add trace event for
snd_soc_cache_sync()" introduced a dereference of "codec->cache_ops"
before we had checked it for NULL.

I pulled the check forward, and then pulled everything in an indent
level.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Dan Carpenter 2011-02-07 22:01:41 +03:00 committed by Mark Brown
parent a98a0bc6c9
commit 46fdaa3bec
1 changed files with 12 additions and 13 deletions

View File

@ -1609,12 +1609,14 @@ int snd_soc_cache_sync(struct snd_soc_codec *codec)
return 0; return 0;
} }
if (!codec->cache_ops || !codec->cache_ops->sync)
return -EINVAL;
if (codec->cache_ops->name) if (codec->cache_ops->name)
name = codec->cache_ops->name; name = codec->cache_ops->name;
else else
name = "unknown"; name = "unknown";
if (codec->cache_ops && codec->cache_ops->sync) {
if (codec->cache_ops->name) if (codec->cache_ops->name)
dev_dbg(codec->dev, "Syncing %s cache for %s codec\n", dev_dbg(codec->dev, "Syncing %s cache for %s codec\n",
codec->cache_ops->name, codec->name); codec->cache_ops->name, codec->name);
@ -1625,9 +1627,6 @@ int snd_soc_cache_sync(struct snd_soc_codec *codec)
trace_snd_soc_cache_sync(codec, name, "end"); trace_snd_soc_cache_sync(codec, name, "end");
return ret; return ret;
} }
return -EINVAL;
}
EXPORT_SYMBOL_GPL(snd_soc_cache_sync); EXPORT_SYMBOL_GPL(snd_soc_cache_sync);
static int snd_soc_get_reg_access_index(struct snd_soc_codec *codec, static int snd_soc_get_reg_access_index(struct snd_soc_codec *codec,