staging: comedi: usbdux: use comedi_buf_read_samples()

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>
This commit is contained in:
H Hartley Sweeten
2014-10-22 14:36:45 -07:00
committed by Greg Kroah-Hartman
parent dec1a26686
commit 664ab5d6db

View 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 */