ASoC: rt5677: Return error if devm_gpiod_get_optional return ERR_PTR
authorAxel Lin <axel.lin@ingics.com>
Sat, 25 Jul 2015 02:23:40 +0000 (10:23 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 29 Jul 2015 12:56:50 +0000 (13:56 +0100)
If devm_gpiod_get_optional() return ERR_PTR, it means something wrong
so request gpio fails. We had better return error in such case.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5677.c

index 62230e05eac1aff4468d6701c8ef6f2f210a9bf5..3f890a6708cd1e4c44b1381ca3152a9a8751b5de 100644 (file)
@@ -5133,14 +5133,14 @@ static int rt5677_i2c_probe(struct i2c_client *i2c,
        if (IS_ERR(rt5677->pow_ldo2)) {
                ret = PTR_ERR(rt5677->pow_ldo2);
                dev_err(&i2c->dev, "Failed to request POW_LDO2: %d\n", ret);
-               rt5677->pow_ldo2 = 0;
+               return ret;
        }
        rt5677->reset_pin = devm_gpiod_get_optional(&i2c->dev,
                        "realtek,reset", GPIOD_OUT_HIGH);
        if (IS_ERR(rt5677->reset_pin)) {
                ret = PTR_ERR(rt5677->reset_pin);
                dev_err(&i2c->dev, "Failed to request RESET: %d\n", ret);
-               rt5677->reset_pin = 0;
+               return ret;
        }
 
        if (rt5677->pow_ldo2 || rt5677->reset_pin) {