Use comedi_buf_write_samples() instead of cfc_write_to_buffer() to add the
single sample to the async buffer.

The core will add the COMEDI_CB_BLOCK event when data is written to the
async buffer. Remove the unnecessary event in the driver.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/ni_at_a2150.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_at_a2150.c 
b/drivers/staging/comedi/drivers/ni_at_a2150.c
index f1fe9ef..5c17def 100644
--- a/drivers/staging/comedi/drivers/ni_at_a2150.c
+++ b/drivers/staging/comedi/drivers/ni_at_a2150.c
@@ -237,7 +237,7 @@ static irqreturn_t a2150_interrupt(int irq, void *d)
                dpnt = devpriv->dma_buffer[i];
                /*  convert from 2's complement to unsigned coding */
                dpnt ^= 0x8000;
-               cfc_write_to_buffer(s, dpnt);
+               comedi_buf_write_samples(s, &dpnt, 1);
                if (cmd->stop_src == TRIG_COUNT) {
                        if (--devpriv->count == 0) {    /* end of acquisition */
                                async->events |= COMEDI_CB_EOA;
@@ -253,8 +253,6 @@ static irqreturn_t a2150_interrupt(int irq, void *d)
        }
        release_dma_lock(flags);
 
-       async->events |= COMEDI_CB_BLOCK;
-
        comedi_handle_events(dev, s);
 
        /* clear interrupt */
-- 
2.0.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to