Here, dev->irq is not assigned with irq. comedi_legacy_detach() is using dev->irq for release irq and dt282x_attach() is using dev->irq for initialize comedi_subdevice. Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> --- changes in v2: comedi_isadma_alloc() can fail. adding dev->irq assignment after successful return of comedi_isadma_alloc(). drivers/staging/comedi/drivers/dt282x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/staging/comedi/drivers/dt282x.c b/drivers/staging/comedi/drivers/dt282x.c index d5295bb..217a4b8 100644 --- a/drivers/staging/comedi/drivers/dt282x.c +++ b/drivers/staging/comedi/drivers/dt282x.c @@ -1062,6 +1062,8 @@ static void dt282x_alloc_dma(struct comedi_device *dev, PAGE_SIZE, 0); if (!devpriv->dma) free_irq(irq_num, dev); + else + dev->irq = irq_num; } static void dt282x_free_dma(struct comedi_device *dev) -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel