提交 b284362b 编写于 作者: A Axel Lin 提交者: Mark Brown

ASoC: cs42l51: Fix off-by-one for reg_cache_size

Just checking the code in cs42l51_fill_cache():
The cache pointer points to codec->reg_cache + 1.
I think it is because CS42L51_FIRSTREG is 0x01,
so codec->reg_cache[0] is not used here.

Then we read CS42L51_NUMREGS bytes to cache.
So we need reg_cache_size to be CS42L51_NUMREGS + 1.
Signed-off-by: NAxel Lin <axel.lin@gmail.com>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 4ca8af57
...@@ -555,7 +555,7 @@ static int cs42l51_probe(struct snd_soc_codec *codec) ...@@ -555,7 +555,7 @@ static int cs42l51_probe(struct snd_soc_codec *codec)
static struct snd_soc_codec_driver soc_codec_device_cs42l51 = { static struct snd_soc_codec_driver soc_codec_device_cs42l51 = {
.probe = cs42l51_probe, .probe = cs42l51_probe,
.reg_cache_size = CS42L51_NUMREGS, .reg_cache_size = CS42L51_NUMREGS + 1,
.reg_word_size = sizeof(u8), .reg_word_size = sizeof(u8),
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册