On 08/09/2017 06:22 PM, Gustavo A. R. Silva wrote: > platform_get_irq() returns an error code, but the cadence-quadspi > driver ignores it and always returns -ENXIO. This is not correct > and, prevents -EPROBE_DEFER from being propagated properly. > > Print 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 <gust...@embeddedor.com> > --- > drivers/mtd/spi-nor/cadence-quadspi.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c > b/drivers/mtd/spi-nor/cadence-quadspi.c > index 53c7d8e..15dacf5 100644 > --- a/drivers/mtd/spi-nor/cadence-quadspi.c > +++ b/drivers/mtd/spi-nor/cadence-quadspi.c > @@ -1202,8 +1202,8 @@ static int cqspi_probe(struct platform_device *pdev) > /* Obtain IRQ line. */ > irq = platform_get_irq(pdev, 0); > if (irq < 0) { > - dev_err(dev, "Cannot obtain IRQ.\n"); > - return -ENXIO; > + dev_err(dev, "Cannot obtain IRQ: %d\n", irq);
"Cannot obtain IRQ, ret=%i\n" please . It's inobvious what the value means otherwise. > + return irq; > } > > ret = clk_prepare_enable(cqspi->clk); > -- Best regards, Marek Vasut