[PATCH v4] ASoC: tlv320adcx140: Fix accessing uninitialized adcx140->dev

From: Camel Guo
Date: Tue Sep 01 2020 - 10:07:41 EST


From: Camel Guo <camelg@xxxxxxxx>

In adcx140_i2c_probe, adcx140->dev is accessed before its
initialization. This commit fixes this bug.

Fixes: 689c7655b50c ("ASoC: tlv320adcx140: Add the tlv320adcx140 codec driver family")
Acked-by: Dan Murphy <dmurphy@xxxxxx>
Signed-off-by: Camel Guo <camel.guo@xxxxxxxx>
---
v4:
- Add Acked-By from Dan
v3:
- Add Fixes tag
v2:
- Fix typo

sound/soc/codecs/tlv320adcx140.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/tlv320adcx140.c b/sound/soc/codecs/tlv320adcx140.c
index 5cd50d841177..7ae6ec374be3 100644
--- a/sound/soc/codecs/tlv320adcx140.c
+++ b/sound/soc/codecs/tlv320adcx140.c
@@ -980,6 +980,8 @@ static int adcx140_i2c_probe(struct i2c_client *i2c,
if (!adcx140)
return -ENOMEM;

+ adcx140->dev = &i2c->dev;
+
adcx140->gpio_reset = devm_gpiod_get_optional(adcx140->dev,
"reset", GPIOD_OUT_LOW);
if (IS_ERR(adcx140->gpio_reset))
@@ -1007,7 +1009,7 @@ static int adcx140_i2c_probe(struct i2c_client *i2c,
ret);
return ret;
}
- adcx140->dev = &i2c->dev;
+
i2c_set_clientdata(i2c, adcx140);

return devm_snd_soc_register_component(&i2c->dev,
--
2.20.1