summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2014-07-23 10:42:21 +0200
committerMark Brown <broonie@linaro.org>2014-07-25 19:53:52 +0200
commitc62f9d8f7fcefe87e362b75c1c6a4333fc1019ac (patch)
tree3571cc82fb4ec58bb8d25e3b2709b4046572786b /sound
parentASoC: tas2552: Fix PM sequencing (diff)
downloadlinux-c62f9d8f7fcefe87e362b75c1c6a4333fc1019ac.tar.xz
linux-c62f9d8f7fcefe87e362b75c1c6a4333fc1019ac.zip
ASoC: tas2552: Return proper error for probe error paths
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>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/tas2552.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/tas2552.c b/sound/soc/codecs/tas2552.c
index a3ae39448a48..23b32960ff1d 100644
--- a/sound/soc/codecs/tas2552.c
+++ b/sound/soc/codecs/tas2552.c
@@ -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)