diff options
author | Vinod Koul <vinod.koul@intel.com> | 2016-07-16 17:39:24 +0300 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-07-16 17:39:24 +0300 |
commit | 488bace2f1996ad38a80daf949f83fd3461a1564 (patch) | |
tree | 312f72a5fea85cc3ded03b5900af95d1a0d54588 | |
parent | 2325a6a0b52ba106f44ee16bc60108b4d9b0e719 (diff) | |
parent | 71831f652968f05270ace83a0bfd607bfed20760 (diff) | |
download | linux-488bace2f1996ad38a80daf949f83fd3461a1564.tar.xz |
Merge branch 'topic/axi' into for-linus
-rw-r--r-- | drivers/dma/dma-axi-dmac.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c index c3468094393e..7f0b9aa15867 100644 --- a/drivers/dma/dma-axi-dmac.c +++ b/drivers/dma/dma-axi-dmac.c @@ -270,6 +270,9 @@ static irqreturn_t axi_dmac_interrupt_handler(int irq, void *devid) unsigned int pending; pending = axi_dmac_read(dmac, AXI_DMAC_REG_IRQ_PENDING); + if (!pending) + return IRQ_NONE; + axi_dmac_write(dmac, AXI_DMAC_REG_IRQ_PENDING, pending); spin_lock(&dmac->chan.vchan.lock); @@ -579,7 +582,9 @@ static int axi_dmac_probe(struct platform_device *pdev) return -ENOMEM; dmac->irq = platform_get_irq(pdev, 0); - if (dmac->irq <= 0) + if (dmac->irq < 0) + return dmac->irq; + if (dmac->irq == 0) return -EINVAL; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -683,6 +688,7 @@ static const struct of_device_id axi_dmac_of_match_table[] = { { .compatible = "adi,axi-dmac-1.00.a" }, { }, }; +MODULE_DEVICE_TABLE(of, axi_dmac_of_match_table); static struct platform_driver axi_dmac_driver = { .driver = { |