dmaengine: zynqmp_dma: Fix race condition in the probe
authorKedareswara rao Appana <appana.durga.rao@xilinx.com>
Thu, 7 Dec 2017 05:24:28 +0000 (10:54 +0530)
committerVinod Koul <vinod.koul@intel.com>
Mon, 18 Dec 2017 04:07:06 +0000 (09:37 +0530)
Incase of interrupt property is not present,
Driver is trying to free an invalid irq,
This patch fixes it by adding a check before freeing the irq.

Signed-off-by: Kedareswara rao Appana <appanad@xilinx.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/xilinx/zynqmp_dma.c

index a297a2659848059cd8cda56a8cffecd378b1d724..f14645817ed8026f997eded8ea42d85189447307 100644 (file)
@@ -851,7 +851,8 @@ static void zynqmp_dma_chan_remove(struct zynqmp_dma_chan *chan)
        if (!chan)
                return;
 
-       devm_free_irq(chan->zdev->dev, chan->irq, chan);
+       if (chan->irq)
+               devm_free_irq(chan->zdev->dev, chan->irq, chan);
        tasklet_kill(&chan->tasklet);
        list_del(&chan->common.device_node);
 }