summaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-armada-3700.c
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2016-12-13 11:28:12 +0100
committerMark Brown <broonie@kernel.org>2016-12-14 18:38:51 +0100
commitf6f0083cca66e673cca6fa26b52b107b5570081d (patch)
tree5399f903bd7c5b6c28aac979865670b70cd8306f /drivers/spi/spi-armada-3700.c
parentMerge remote-tracking branches 'spi/topic/spidev', 'spi/topic/sunxi', 'spi/to... (diff)
downloadlinux-f6f0083cca66e673cca6fa26b52b107b5570081d.tar.xz
linux-f6f0083cca66e673cca6fa26b52b107b5570081d.zip
spi: armada-3700: fix unsigned compare than zero on irq
spi->irq is an unsigned integer hence the check if status is less than zero has no effect. Fix this by replacing spi->irq with an int irq so the less than zero compare will correctly detect errors. Issue found with static analysis with CoverityScan, CID1388567 Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Romain Perier <romain.perier@free-electrons.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-armada-3700.c')
-rw-r--r--drivers/spi/spi-armada-3700.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/spi/spi-armada-3700.c b/drivers/spi/spi-armada-3700.c
index e89da0af45d2..4e921782652f 100644
--- a/drivers/spi/spi-armada-3700.c
+++ b/drivers/spi/spi-armada-3700.c
@@ -800,7 +800,7 @@ static int a3700_spi_probe(struct platform_device *pdev)
struct spi_master *master;
struct a3700_spi *spi;
u32 num_cs = 0;
- int ret = 0;
+ int irq, ret = 0;
master = spi_alloc_master(dev, sizeof(*spi));
if (!master) {
@@ -846,12 +846,13 @@ static int a3700_spi_probe(struct platform_device *pdev)
goto error;
}
- spi->irq = platform_get_irq(pdev, 0);
- if (spi->irq < 0) {
- dev_err(dev, "could not get irq: %d\n", spi->irq);
+ irq = platform_get_irq(pdev, 0);
+ if (irq < 0) {
+ dev_err(dev, "could not get irq: %d\n", irq);
ret = -ENXIO;
goto error;
}
+ spi->irq = irq;
init_completion(&spi->done);