summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo A. R. Silva <garsilva@embeddedor.com>2017-07-01 00:26:48 +0200
committerMark Brown <broonie@kernel.org>2017-07-17 13:06:09 +0200
commitcfe267da9de756d15eab095358b0b122c57816a6 (patch)
tree7e5c8675a76769f3e312e2c470fbb7b611cf88a9
parentLinux v4.13-rc1 (diff)
downloadlinux-cfe267da9de756d15eab095358b0b122c57816a6.tar.xz
linux-cfe267da9de756d15eab095358b0b122c57816a6.zip
ASoC: twl6040: fix error return code in twl6040_probe()
platform_get_irq() returns an error code, but the twl6040 driver ignores it and always returns -EINVAL. This is not correct, and prevents -EPROBE_DEFER from being propagated properly. Notice that platform_get_irq() no longer returns 0 on error. Print and propagate the return value of platform_get_irq on failure. Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/twl6040.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 2b6ad09e0886..96cf94a2b7a0 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -1123,8 +1123,8 @@ static int twl6040_probe(struct snd_soc_codec *codec)
priv->plug_irq = platform_get_irq(pdev, 0);
if (priv->plug_irq < 0) {
- dev_err(codec->dev, "invalid irq\n");
- return -EINVAL;
+ dev_err(codec->dev, "invalid irq: %d\n", priv->plug_irq);
+ return priv->plug_irq;
}
INIT_DELAYED_WORK(&priv->hs_jack.work, twl6040_accessory_work);