Skip to content

Commit

Permalink
Staging: comedi: pcl812: Correct AI scan counting
Browse files Browse the repository at this point in the history
The AI scan counter should be updated after every completed scan,
not after every channel.  Keep track of current channel.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Ian Abbott authored and Greg Kroah-Hartman committed Mar 4, 2010
1 parent 6c381c5 commit 7edfa10
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/staging/comedi/drivers/pcl812.c
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,9 @@ static irqreturn_t interrupt_pcl812_ai_int(int irq, void *d)

outb(0, dev->iobase + PCL812_CLRINT); /* clear INT request */

if (s->async->cur_chan == 0) { /* one scan done */
s->async->cur_chan++;
if (s->async->cur_chan >= devpriv->ai_n_chan) { /* one scan done */
s->async->cur_chan = 0;
devpriv->ai_act_scan++;
if (!(devpriv->ai_neverending))
if (devpriv->ai_act_scan >= devpriv->ai_scans) { /* all data sampled */
Expand All @@ -1021,7 +1023,9 @@ static void transfer_from_dma_buf(struct comedi_device *dev,
for (i = len; i; i--) {
comedi_buf_put(s->async, ptr[bufptr++]); /* get one sample */

if (s->async->cur_chan == 0) {
s->async->cur_chan++;
if (s->async->cur_chan >= devpriv->ai_n_chan) {
s->async->cur_chan = 0;
devpriv->ai_act_scan++;
if (!devpriv->ai_neverending)
if (devpriv->ai_act_scan >= devpriv->ai_scans) { /* all data sampled */
Expand Down

0 comments on commit 7edfa10

Please sign in to comment.