staging: comedi: usbdux: use comedi_buf_read_samples()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 22 Oct 2014 21:36:45 +0000 (14:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2014 08:01:20 +0000 (16:01 +0800)
Use comedi_buf_read_samples() to read the analog output samples from
the async buffer. That function will set the COMEDI_CB_BLOCK event
when samples are read from the async buffer.

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/usbdux.c

index eae441f3858c5c25a12c9f731c4ebb38ef3b060e..53f1e218d0d9bba04303e1d32717979e8a522f2f 100644 (file)
@@ -413,7 +413,7 @@ static void usbduxsub_ao_handle_urb(struct comedi_device *dev,
                        unsigned int chan = CR_CHAN(cmd->chanlist[i]);
                        unsigned short val;
 
-                       if (!comedi_buf_get(s, &val)) {
+                       if (!comedi_buf_read_samples(s, &val, 1)) {
                                dev_err(dev->class_dev, "buffer underflow\n");
                                async->events |= COMEDI_CB_OVERFLOW;
                                return;
@@ -425,7 +425,6 @@ static void usbduxsub_ao_handle_urb(struct comedi_device *dev,
                        *datap++ = chan << 6;
                        s->readback[chan] = val;
                }
-               async->events |= COMEDI_CB_BLOCK;
        }
 
        /* if command is still running, resubmit urb for BULK transfer */