diff --git a/drivers/staging/comedi/drivers/pcl816.c b/drivers/staging/comedi/drivers/pcl816.c index 65cbafb85698..a471c3df12b4 100644 --- a/drivers/staging/comedi/drivers/pcl816.c +++ b/drivers/staging/comedi/drivers/pcl816.c @@ -289,8 +289,6 @@ static bool pcl816_ai_next_chan(struct comedi_device *dev, struct pcl816_private *devpriv = dev->private; struct comedi_cmd *cmd = &s->async->cmd; - s->async->events |= COMEDI_CB_BLOCK; - s->async->cur_chan++; if (s->async->cur_chan >= cmd->chanlist_len) { s->async->cur_chan = 0; @@ -313,10 +311,12 @@ static void transfer_from_dma_buf(struct comedi_device *dev, unsigned short *ptr, unsigned int bufptr, unsigned int len) { + unsigned short val; int i; for (i = 0; i < len; i++) { - comedi_buf_put(s, ptr[bufptr++]); + val = ptr[bufptr++]; + comedi_buf_write_samples(s, &val, 1); if (!pcl816_ai_next_chan(dev, s)) return;