From: H Hartley Sweeten Date: Wed, 22 Oct 2014 22:37:00 +0000 (-0700) Subject: staging: comedi: pcl711: use comedi_buf_write_samples() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=1f44c034de2e1591f4fad38c685dd167e1da7062;p=linux-beck.git staging: comedi: pcl711: use comedi_buf_write_samples() Use comedi_buf_write_samples() to add the sample to the async buffer. The async events will set properly by the core. Remove the unnecessary events in the driver. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/pcl711.c b/drivers/staging/comedi/drivers/pcl711.c index b6e7f342935d..48a79b8221fc 100644 --- a/drivers/staging/comedi/drivers/pcl711.c +++ b/drivers/staging/comedi/drivers/pcl711.c @@ -213,14 +213,12 @@ static irqreturn_t pcl711_interrupt(int irq, void *d) outb(PCL711_INT_STAT_CLR, dev->iobase + PCL711_INT_STAT_REG); - if (comedi_buf_put(s, data) == 0) { - s->async->events |= COMEDI_CB_OVERFLOW | COMEDI_CB_ERROR; - } else { - s->async->events |= COMEDI_CB_BLOCK | COMEDI_CB_EOS; + if (comedi_buf_write_samples(s, &data, 1)) { if (cmd->stop_src == TRIG_COUNT && !(--devpriv->ntrig)) s->async->events |= COMEDI_CB_EOA; } comedi_handle_events(dev, s); + return IRQ_HANDLED; }