Use comedi_buf_write_samples() to add the samples to the async buffer.
That function will determining the number of bytes to add based on the
bytes_per_sample().

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/usbduxfast.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/usbduxfast.c 
b/drivers/staging/comedi/drivers/usbduxfast.c
index 95c2ec7..70ec2f5 100644
--- a/drivers/staging/comedi/drivers/usbduxfast.c
+++ b/drivers/staging/comedi/drivers/usbduxfast.c
@@ -249,19 +249,17 @@ static void usbduxfast_ai_handle_urb(struct comedi_device 
*dev,
                devpriv->ignore--;
        } else {
                unsigned int nbytes = urb->actual_length;
+               unsigned int nsamples = nbytes / bytes_per_sample(s);
 
                if (cmd->stop_src == TRIG_COUNT) {
-                       unsigned int nsamples = nbytes / bytes_per_sample(s);
-
                        if (devpriv->ai_sample_count < nsamples) {
                                nsamples = devpriv->ai_sample_count;
                                async->events |= COMEDI_CB_EOA;
                        }
                        devpriv->ai_sample_count -= nsamples;
-                       nbytes = nsamples * bytes_per_sample(s);
                }
 
-               cfc_write_array_to_buffer(s, urb->transfer_buffer, nbytes);
+               comedi_buf_write_samples(s, urb->transfer_buffer, nsamples);
        }
 
        /* if command is still running, resubmit urb for BULK transfer */
-- 
2.0.3

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

Reply via email to