spi: microchip-core: fix potentially incorrect return from probe
authorConor Dooley <conor.dooley@microchip.com>
Tue, 14 Jun 2022 06:58:10 +0000 (07:58 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 14 Jun 2022 08:26:41 +0000 (09:26 +0100)
If platform_get_irqi() returns 0, the error case will be triggered but
probe() will return 0 rather than an error. Ape the other drivers using
this pattern and return -ENXIO.

Reported-by: Yang Li <yang.lee@linux.alibaba.com>
Link: https://lore.kernel.org/linux-spi/20220609055533.95866-2-yang.lee@linux.alibaba.com/
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Fixes: 9ac8d17694b6 ("spi: add support for microchip fpga spi controllers")
Link: https://lore.kernel.org/r/20220614065809.1969177-1-conor.dooley@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-microchip-core.c

index 5b22a13..856a68f 100644 (file)
@@ -541,7 +541,7 @@ static int mchp_corespi_probe(struct platform_device *pdev)
        spi->irq = platform_get_irq(pdev, 0);
        if (spi->irq <= 0) {
                dev_err(&pdev->dev, "invalid IRQ %d for SPI controller\n", spi->irq);
-               ret = spi->irq;
+               ret = -ENXIO;
                goto error_release_master;
        }