On Wed, Aug 9, 2017 at 7:00 PM, Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> wrote: > 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. Pushed to testing, thanks! > > Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> > --- > drivers/platform/x86/intel_mid_powerbtn.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/intel_mid_powerbtn.c b/drivers/platform/x86/intel_mid_powerbtn.c > index 871cfa6..854a16d 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) > -- > 2.5.0 > -- With Best Regards, Andy Shevchenko