Browse Source

ASoC: kirkwood-i2s: fix error return code in kirkwood_i2s_dev_probe()

platform_get_irq() returns an error code, but the kirkwood-i2s
driver ignores it and always returns -ENXIO. 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>
Gustavo A. R. Silva 8 years ago
parent
commit
e7b2e30a3f
1 changed files with 3 additions and 3 deletions
  1. 3 3
      sound/soc/kirkwood/kirkwood-i2s.c

+ 3 - 3
sound/soc/kirkwood/kirkwood-i2s.c

@@ -550,9 +550,9 @@ static int kirkwood_i2s_dev_probe(struct platform_device *pdev)
 		return PTR_ERR(priv->io);
 
 	priv->irq = platform_get_irq(pdev, 0);
-	if (priv->irq <= 0) {
-		dev_err(&pdev->dev, "platform_get_irq failed\n");
-		return -ENXIO;
+	if (priv->irq < 0) {
+		dev_err(&pdev->dev, "platform_get_irq failed: %d\n", priv->irq);
+		return priv->irq;
 	}
 
 	if (np) {