mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 01:49:20 -04:00
staging: comedi: hwdrv_apci3120: do comedi_handle_events() at end of interrupt
Currently comedi_handle_events() is done by both the DMA and non-DMA helper functions that are called by the interrupt handler. For aesthetics, move the comedi_handle_events() to the end of the interrupt handler and do it in one place. 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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ff6f21a5ee
commit
215ecf8a52
@@ -1327,16 +1327,13 @@ static void apci3120_interrupt_dma(int irq, void *d)
|
||||
devpriv->ul_DmaBufferVirtual[devpriv->
|
||||
ui_DmaActualBuffer], samplesinbuf);
|
||||
|
||||
if (!(cmd->flags & CMDF_WAKE_EOS)) {
|
||||
if (!(cmd->flags & CMDF_WAKE_EOS))
|
||||
s->async->events |= COMEDI_CB_EOS;
|
||||
comedi_handle_events(dev, s);
|
||||
}
|
||||
}
|
||||
if (cmd->stop_src == TRIG_COUNT)
|
||||
if (devpriv->ui_AiActualScan >= cmd->stop_arg) {
|
||||
/* all data sampled */
|
||||
s->async->events |= COMEDI_CB_EOA;
|
||||
comedi_handle_events(dev, s);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1415,8 +1412,6 @@ static int apci3120_interrupt_handle_eos(struct comedi_device *dev)
|
||||
if (err == 0)
|
||||
s->async->events |= COMEDI_CB_OVERFLOW;
|
||||
|
||||
comedi_handle_events(dev, s);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1539,8 +1534,6 @@ static void apci3120_interrupt(int irq, void *d)
|
||||
dev->iobase + APCI3120_WR_ADDRESS);
|
||||
|
||||
s->async->events |= COMEDI_CB_EOA;
|
||||
comedi_handle_events(dev, s);
|
||||
|
||||
break;
|
||||
|
||||
case APCI3120_TIMER:
|
||||
@@ -1593,6 +1586,7 @@ static void apci3120_interrupt(int irq, void *d)
|
||||
}
|
||||
|
||||
}
|
||||
comedi_handle_events(dev, s);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user