diff options
author | Gustavo A. R. Silva <garsilva@embeddedor.com> | 2017-07-03 08:47:38 -0400 |
---|---|---|
committer | MyungJoo Ham <myungjoo.ham@samsung.com> | 2017-07-05 21:16:17 -0400 |
commit | 9e578b37505018622dfafc40eed7cd78ff2af221 (patch) | |
tree | 38a9b171aaebba879a5361b0e78c23057292fd93 | |
parent | da55b1ad4b29b6ab44d5dc8ea8306260246d2699 (diff) |
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) | |||
688 | } | 688 | } |
689 | 689 | ||
690 | irq = platform_get_irq(pdev, 0); | 690 | irq = platform_get_irq(pdev, 0); |
691 | if (irq <= 0) { | 691 | if (irq < 0) { |
692 | dev_err(&pdev->dev, "Failed to get IRQ\n"); | 692 | dev_err(&pdev->dev, "Failed to get IRQ: %d\n", irq); |
693 | return -ENODEV; | 693 | return irq; |
694 | } | 694 | } |
695 | 695 | ||
696 | platform_set_drvdata(pdev, tegra); | 696 | platform_set_drvdata(pdev, tegra); |