diff options
author | Mark Brown <broonie@kernel.org> | 2016-07-24 22:08:30 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-07-24 22:08:30 +0100 |
commit | 56432b7324d0137ef40dd833b70b5569e7dc661d (patch) | |
tree | 820b19a4782cf443091f986182386a90c6cdbee2 /drivers/spi | |
parent | 1cb2e84873fd8a977234cc83d2f0f356eae590cf (diff) | |
parent | d33648478501407267557b1bf6897169625f4178 (diff) | |
download | linux-56432b7324d0137ef40dd833b70b5569e7dc661d.tar.bz2 |
Merge remote-tracking branch 'spi/topic/xilinx' into spi-next
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi-xilinx.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/spi/spi-xilinx.c b/drivers/spi/spi-xilinx.c index 3009121173cd..bc7100b93dfc 100644 --- a/drivers/spi/spi-xilinx.c +++ b/drivers/spi/spi-xilinx.c @@ -341,9 +341,10 @@ static irqreturn_t xilinx_spi_irq(int irq, void *dev_id) if (ipif_isr & XSPI_INTR_TX_EMPTY) { /* Transmission completed */ complete(&xspi->done); + return IRQ_HANDLED; } - return IRQ_HANDLED; + return IRQ_NONE; } static int xilinx_spi_find_buffer_size(struct xilinx_spi *xspi) @@ -455,7 +456,10 @@ static int xilinx_spi_probe(struct platform_device *pdev) xspi->buffer_size = xilinx_spi_find_buffer_size(xspi); xspi->irq = platform_get_irq(pdev, 0); - if (xspi->irq >= 0) { + if (xspi->irq < 0 && xspi->irq != -ENXIO) { + ret = xspi->irq; + goto put_master; + } else if (xspi->irq >= 0) { /* Register for SPI Interrupt */ ret = devm_request_irq(&pdev->dev, xspi->irq, xilinx_spi_irq, 0, dev_name(&pdev->dev), xspi); |