From ff6f21a5eee870f565aad1e29e71d9b5a4f255f3 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Thu, 18 Sep 2014 11:35:30 -0700 Subject: [PATCH] staging: comedi: hwdrv_apci3120: use comedi_handle_events() Use comedi_handle_events() to automatically (*cancel) the async command for an end-of-acquisition or if an error/overflow occurs. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- .../comedi/drivers/addi-data/hwdrv_apci3120.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c index 2950815b65f4..db6e14269c92 100644 --- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c +++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c @@ -1329,15 +1329,14 @@ static void apci3120_interrupt_dma(int irq, void *d) if (!(cmd->flags & CMDF_WAKE_EOS)) { s->async->events |= COMEDI_CB_EOS; - comedi_event(dev, s); + comedi_handle_events(dev, s); } } if (cmd->stop_src == TRIG_COUNT) if (devpriv->ui_AiActualScan >= cmd->stop_arg) { /* all data sampled */ - apci3120_cancel(dev, s); s->async->events |= COMEDI_CB_EOA; - comedi_event(dev, s); + comedi_handle_events(dev, s); return; } @@ -1416,7 +1415,7 @@ static int apci3120_interrupt_handle_eos(struct comedi_device *dev) if (err == 0) s->async->events |= COMEDI_CB_OVERFLOW; - comedi_event(dev, s); + comedi_handle_events(dev, s); return 0; } @@ -1539,12 +1538,8 @@ static void apci3120_interrupt(int irq, void *d) outw(devpriv->us_OutputRegister, dev->iobase + APCI3120_WR_ADDRESS); - /* stop timer 0 and timer 1 */ - apci3120_cancel(dev, s); - - /* UPDATE-0.7.57->0.7.68comedi_done(dev,s); */ s->async->events |= COMEDI_CB_EOA; - comedi_event(dev, s); + comedi_handle_events(dev, s); break; -- 2.34.1