[PATCH 3/8] staging: comedi: addi_apci_2032: set COMEDI_CB_OVERFLOW

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
 drivers/staging/comedi/drivers/addi_apci_2032.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi_apci_2032.c b/drivers/staging/comedi/drivers/addi_apci_2032.c
index f04f59d..aeb34db 100644
--- a/drivers/staging/comedi/drivers/addi_apci_2032.c
+++ b/drivers/staging/comedi/drivers/addi_apci_2032.c
@@ -248,8 +248,10 @@ static irqreturn_t apci2032_interrupt(int irq, void *d)
 	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;
-- 
1.8.0

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux