If the call to `comedi_buf_put()` fails in the interrupt routine, set
the `COMEDI_CB_OVERFLOW` event flag. Note that the `COMEDI_CB_ERROR`
flag will have also been set by `comedi_buf_put()` in this case.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
s->state = inl(dev->iobase + APCI2032_INT_STATUS_REG);
outl(0x0, dev->iobase + APCI2032_INT_CTRL_REG);
- comedi_buf_put(s->async, s->state);
- s->async->events |= COMEDI_CB_BLOCK | COMEDI_CB_EOS;
+ if (comedi_buf_put(s->async, s->state))
+ s->async->events |= COMEDI_CB_BLOCK | COMEDI_CB_EOS;
+ else
+ s->async->events |= COMEDI_CB_OVERFLOW;
comedi_event(dev, s);
return IRQ_HANDLED;