From: H Hartley Sweeten Date: Thu, 18 Sep 2014 18:35:31 +0000 (-0700) Subject: staging: comedi: hwdrv_apci3120: do comedi_handle_events() at end of interrupt X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=215ecf8a524b3892536fc38317bb1dad2a47be04;p=deliverable%2Flinux.git 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 Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c index db6e14269c92..b06142b27df7 100644 --- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c +++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c @@ -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); } /*