From: H Hartley Sweeten Date: Wed, 22 Oct 2014 21:36:46 +0000 (-0700) Subject: staging: comedi: usbduxsigma: use comedi_buf_read_samples() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=e463fbe419b70744c7126ec198c6d6e2cffa5c87;p=deliverable%2Flinux.git staging: comedi: usbduxsigma: 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 Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/usbduxsigma.c b/drivers/staging/comedi/drivers/usbduxsigma.c index 1d12cc6c1ade..de3fb41b1886 100644 --- a/drivers/staging/comedi/drivers/usbduxsigma.c +++ b/drivers/staging/comedi/drivers/usbduxsigma.c @@ -374,7 +374,7 @@ static void usbduxsigma_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; @@ -384,7 +384,6 @@ static void usbduxsigma_ao_handle_urb(struct comedi_device *dev, *datap++ = chan; s->readback[chan] = val; } - async->events |= COMEDI_CB_BLOCK; } /* if command is still running, resubmit urb */