ASoC: rt5645: check return value after reading device id
authorShuming Fan <shumingf@realtek.com>
Wed, 5 Jul 2023 04:29:14 +0000 (12:29 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 5 Jul 2023 12:00:54 +0000 (13:00 +0100)
If the I2C controller encounters some problems like timed-out, the codec
driver will report the error code for the first read.

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20230705042915.24932-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5645.c

index acc7fb1581b239251a977745ef75d6b8639346cd..a506d940a2eadcd011506eb72cdd075be2492006 100644 (file)
@@ -3950,7 +3950,11 @@ static int rt5645_i2c_probe(struct i2c_client *i2c)
         * read and power On.
         */
        msleep(TIME_TO_POWER_MS);
-       regmap_read(regmap, RT5645_VENDOR_ID2, &val);
+       ret = regmap_read(regmap, RT5645_VENDOR_ID2, &val);
+       if (ret < 0) {
+               dev_err(&i2c->dev, "Failed to read: 0x%02X\n, ret = %d", RT5645_VENDOR_ID2, ret);
+               goto err_enable;
+       }
 
        switch (val) {
        case RT5645_DEVICE_ID: