Message ID | 1437300918-4612-1-git-send-email-lars@metafoo.de (mailing list archive) |
---|---|
State | Accepted |
Commit | cb2510dac7e1c5ac77652bb31e8c39ce2eef8bbe |
Headers | show |
On Sun, 19 Jul 2015, Lars-Peter Clausen wrote: > dev_get_drvdata() will not return the snd_soc_runtime to which this CODEC > is attached, so the current code will result in undefined behavior. > To fix this just use regmap_update_bits(cs4349->regmap, ...) directly > instead of snd_soc_update_bits(rtd->codec, ...). > > Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> > --- > sound/soc/codecs/cs4349.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > For both patches Thank you! Acked-by: Tim Howe <tim.howe@cirrus.com>
diff --git a/sound/soc/codecs/cs4349.c b/sound/soc/codecs/cs4349.c index a8df8a74..db18799 100644 --- a/sound/soc/codecs/cs4349.c +++ b/sound/soc/codecs/cs4349.c @@ -328,10 +328,9 @@ static int cs4349_i2c_remove(struct i2c_client *client) static int cs4349_runtime_suspend(struct device *dev) { struct cs4349_private *cs4349 = dev_get_drvdata(dev); - struct snd_soc_pcm_runtime *rtd = dev_get_drvdata(dev); int ret; - ret = snd_soc_update_bits(rtd->codec, CS4349_MISC, PWR_DWN, 1); + ret = regmap_update_bits(cs4349->regmap, CS4349_MISC, PWR_DWN, 1); if (ret < 0) return ret; @@ -347,10 +346,9 @@ static int cs4349_runtime_suspend(struct device *dev) static int cs4349_runtime_resume(struct device *dev) { struct cs4349_private *cs4349 = dev_get_drvdata(dev); - struct snd_soc_pcm_runtime *rtd = dev_get_drvdata(dev); int ret; - ret = snd_soc_update_bits(rtd->codec, CS4349_MISC, PWR_DWN, 0); + ret = regmap_update_bits(cs4349->regmap, CS4349_MISC, PWR_DWN, 0); if (ret < 0) return ret;
dev_get_drvdata() will not return the snd_soc_runtime to which this CODEC is attached, so the current code will result in undefined behavior. To fix this just use regmap_update_bits(cs4349->regmap, ...) directly instead of snd_soc_update_bits(rtd->codec, ...). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> --- sound/soc/codecs/cs4349.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)