diff options
author | 2016-12-13 10:28:12 +0000 | |
---|---|---|
committer | 2016-12-14 17:38:51 +0000 | |
commit | f6f0083cca66e673cca6fa26b52b107b5570081d (patch) | |
tree | 5399f903bd7c5b6c28aac979865670b70cd8306f /drivers/spi/spi-armada-3700.c | |
parent | Merge remote-tracking branches 'spi/topic/spidev', 'spi/topic/sunxi', 'spi/to... (diff) | |
download | linux-f6f0083cca66e673cca6fa26b52b107b5570081d.tar.gz linux-f6f0083cca66e673cca6fa26b52b107b5570081d.tar.bz2 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.c | 9 |
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); |