diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2017-08-09 11:00:54 -0500 |
---|---|---|
committer | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2017-08-13 15:27:10 +0300 |
commit | fe4e8d0910540db28e457ce792ae2b29ee66ab8a (patch) | |
tree | 56f95cdacb55f14634b3b985f9d84561831b8cae /drivers | |
parent | 50c55168d78eac9ef49a0953155b216bc685062a (diff) |
platform/x86: intel_mid_powerbtn: fix error return code in mid_pb_probe()
platform_get_irq() returns an error code, but the intel_mid_powerbtn
driver ignores it and always returns -EINVAL. This is not correct and,
prevents -EPROBE_DEFER from being propagated properly.
Print error message and propagate the return value of platform_get_irq
on failure.
This issue was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/platform/x86/intel_mid_powerbtn.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/platform/x86/intel_mid_powerbtn.c b/drivers/platform/x86/intel_mid_powerbtn.c index 871cfa682519..854a16df485d 100644 --- a/drivers/platform/x86/intel_mid_powerbtn.c +++ b/drivers/platform/x86/intel_mid_powerbtn.c @@ -142,8 +142,10 @@ static int mid_pb_probe(struct platform_device *pdev) if (!id) return -ENODEV; - if (irq < 0) - return -EINVAL; + if (irq < 0) { + dev_err(&pdev->dev, "Failed to get IRQ: %d\n", irq); + return irq; + } input = devm_input_allocate_device(&pdev->dev); if (!input) |