staging: comedi: hwdrv_apci3120: use comedi_handle_events()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Thu, 18 Sep 2014 18:35:30 +0000 (11:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Oct 2014 02:29:23 +0000 (10:29 +0800)
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 <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c

index 2950815b65f49b6f9b37c1033c3f73fe43746eab..db6e14269c92a67a9de61fcae4de9ad335573c7b 100644 (file)
@@ -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;