diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2017-08-07 23:59:44 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-08-08 11:36:39 +0100 |
commit | 378da4a65f3a0390837b38145bb5d8c2d20c2cf7 (patch) | |
tree | c6b8d8fa6f35814715be650ab40146df1dfa721b /drivers/spi/spi-bcm63xx-hsspi.c | |
parent | ba8afe94723e9ba665aee9cca649fb2c80f7304c (diff) | |
download | op-kernel-dev-378da4a65f3a0390837b38145bb5d8c2d20c2cf7.zip op-kernel-dev-378da4a65f3a0390837b38145bb5d8c2d20c2cf7.tar.gz |
spi/bcm63xx-hspi: fix error return code in bcm63xx_hsspi_probe()
platform_get_irq() returns an error code, but the spi-bcm63xx-hsspi
driver ignores it and always returns -ENXIO. 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.
This issue was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-bcm63xx-hsspi.c')
-rw-r--r-- | drivers/spi/spi-bcm63xx-hsspi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/spi/spi-bcm63xx-hsspi.c b/drivers/spi/spi-bcm63xx-hsspi.c index 4da2d4a..b03fc18 100644 --- a/drivers/spi/spi-bcm63xx-hsspi.c +++ b/drivers/spi/spi-bcm63xx-hsspi.c @@ -338,8 +338,8 @@ static int bcm63xx_hsspi_probe(struct platform_device *pdev) irq = platform_get_irq(pdev, 0); if (irq < 0) { - dev_err(dev, "no irq\n"); - return -ENXIO; + dev_err(dev, "no irq: %d\n", irq); + return irq; } res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); |