ASoC: tas2552: Return proper error for probe error paths
authorAxel Lin <axel.lin@ingics.com>
Wed, 23 Jul 2014 08:42:21 +0000 (16:42 +0800)
committerMark Brown <broonie@linaro.org>
Fri, 25 Jul 2014 17:53:52 +0000 (18:53 +0100)
Return error if devm_regulator_bulk_get() or snd_soc_register_codec() fails.

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

index a3ae39448a4805109f9f6e59bc9a398d5abe5076..23b32960ff1db62f2c5738f402bed0d3c0f116b5 100644 (file)
@@ -482,8 +482,10 @@ static int tas2552_probe(struct i2c_client *client,
 
        ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(data->supplies),
                                      data->supplies);
-       if (ret != 0)
+       if (ret != 0) {
                dev_err(dev, "Failed to request supplies: %d\n", ret);
+               return ret;
+       }
 
        pm_runtime_set_active(&client->dev);
        pm_runtime_set_autosuspend_delay(&client->dev, 1000);
@@ -500,7 +502,7 @@ static int tas2552_probe(struct i2c_client *client,
        if (ret < 0)
                dev_err(&client->dev, "Failed to register codec: %d\n", ret);
 
-       return 0;
+       return ret;
 }
 
 static int tas2552_i2c_remove(struct i2c_client *client)