free_irq() should be called on driver 'dt282x' detach. Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> --- drivers/staging/comedi/drivers/dt282x.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/staging/comedi/drivers/dt282x.c b/drivers/staging/comedi/drivers/dt282x.c index d5295bb..a132f60 100644 --- a/drivers/staging/comedi/drivers/dt282x.c +++ b/drivers/staging/comedi/drivers/dt282x.c @@ -1057,6 +1057,8 @@ static void dt282x_alloc_dma(struct comedi_device *dev, if (request_irq(irq_num, dt282x_interrupt, 0, dev->board_name, dev)) return; + dev->irq = irq_num; + /* DMA uses two 4K buffers with separate DMA channels */ devpriv->dma = comedi_isadma_alloc(dev, 2, dma_chan[0], dma_chan[1], PAGE_SIZE, 0); @@ -1070,6 +1072,9 @@ static void dt282x_free_dma(struct comedi_device *dev) if (devpriv) comedi_isadma_free(devpriv->dma); + + if (dev->irq) + free_irq(dev->irq, dev); } static int dt282x_initialize(struct comedi_device *dev) -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel