Hi Vinod,

        Thanks for the review...

> > +
> > +   chan->is_dmacoherent =  of_property_read_bool(node, "dma-
> coherent");
> > +   zdev->chan = chan;
> > +   tasklet_init(&chan->tasklet, zynqmp_dma_do_tasklet, (ulong)chan);
> 
> where is this killed?

This is killed in the zynqmp_dma_chan_remove() API.

> 
> > +   spin_lock_init(&chan->lock);
> > +   INIT_LIST_HEAD(&chan->active_list);
> > +   INIT_LIST_HEAD(&chan->pending_list);
> > +   INIT_LIST_HEAD(&chan->done_list);
> > +   INIT_LIST_HEAD(&chan->free_list);
> > +   zynqmp_dma_init(chan);
> > +   chan->irq = platform_get_irq(pdev, 0);
> > +   if (chan->irq < 0)
> > +           return -ENXIO;
> > +   err = devm_request_irq(&pdev->dev, chan->irq,
> zynqmp_dma_irq_handler, 0,
> > +                          "zynqmp-dma", chan);
> 
> this needs to be freed/diabled in remove, dont see that

It is freed in the zynqmp_dma_chan_remove() API.

Regards,
Kedar.

Reply via email to