On Wed, Jul 22, 2015 at 03:26:01PM +0100, Alex Smith wrote:

> >>>I think the explicit devm_free_irq() here is unnecessary, as when remove is
> >>>called there should be no remaining users of the DMA controller and 
> >>>therefore
> >>>no chance of an IRQ occurring between the controller being unregistered 
> >>>and an
> >>>implicit IRQ release afterwards.
> >Are you ensuring that device can no longer sent interrupts and all instances
> >of tasklet running or either completed are terminated and no further tasklet
> >can be spawned?
> 
> Hi Vinod,
> 
> If I understand correctly, when remove() is called, there should be
> no more users of the DMA controller, enforced by the module
> reference count.
> 
> Wouldn't that guarantee that there are no more transactions running
> and therefore no chance of an interrupt from the controller or a
> tasklet still running?

That will only guarantee no new requests are recieved, but you may have
tasklet already scheduled or irq sent from HW how do you prevent that?

-- 
~Vinod

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to