diff options
author | Gustavo A. R. Silva <garsilva@embeddedor.com> | 2017-07-03 14:47:38 +0200 |
---|---|---|
committer | MyungJoo Ham <myungjoo.ham@samsung.com> | 2017-07-06 03:16:17 +0200 |
commit | 9e578b37505018622dfafc40eed7cd78ff2af221 (patch) | |
tree | 38a9b171aaebba879a5361b0e78c23057292fd93 | |
parent | PM / devfreq: rk3399_dmc: fix error return code in rk3399_dmcfreq_probe() (diff) | |
download | linux-9e578b37505018622dfafc40eed7cd78ff2af221.tar.xz linux-9e578b37505018622dfafc40eed7cd78ff2af221.zip |
PM / devfreq: tegra: fix error return code in tegra_devfreq_probe()
platform_get_irq() returns an error code, but the tegra-devfreq
driver ignores it and always returns -ENODEV. This is not correct,
and prevents -EPROBE_DEFER from being propagated properly.
Notice that platform_get_irq() no longer returns 0 on error:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e330b9a6bb35dc7097a4f02cb1ae7b6f96df92af
Print and propagate the return value of platform_get_irq on failure.
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
-rw-r--r-- | drivers/devfreq/tegra-devfreq.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index 214fff96fa4a..ae712159246f 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -688,9 +688,9 @@ static int tegra_devfreq_probe(struct platform_device *pdev) } irq = platform_get_irq(pdev, 0); - if (irq <= 0) { - dev_err(&pdev->dev, "Failed to get IRQ\n"); - return -ENODEV; + if (irq < 0) { + dev_err(&pdev->dev, "Failed to get IRQ: %d\n", irq); + return irq; } platform_set_drvdata(pdev, tegra); |