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:
parent
a98a0bc6c9
commit
46fdaa3bec
|
@ -1609,24 +1609,23 @@ 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);
|
trace_snd_soc_cache_sync(codec, name, "start");
|
||||||
trace_snd_soc_cache_sync(codec, name, "start");
|
ret = codec->cache_ops->sync(codec);
|
||||||
ret = codec->cache_ops->sync(codec);
|
if (!ret)
|
||||||
if (!ret)
|
codec->cache_sync = 0;
|
||||||
codec->cache_sync = 0;
|
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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue