The comedi core sanity checks that the subdevice has a buffer allocated
before allowing an async command to start. The helper functions in comedi_buf
will also sanity check the buffer as a side effect of the 'alloc' helpers
with reading or writing data for the buffer.

Remove the unnecessary sanity checks in the ai/ao dma interrupt handlers.
This will allow the handlers to disable the dma and then fail when they
try to read/write the buffer. Currently dma is left enabled due to the
sanity checks.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/dt282x.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/staging/comedi/drivers/dt282x.c 
b/drivers/staging/comedi/drivers/dt282x.c
index d2a519d..3071f11 100644
--- a/drivers/staging/comedi/drivers/dt282x.c
+++ b/drivers/staging/comedi/drivers/dt282x.c
@@ -471,11 +471,6 @@ static void dt282x_ao_dma_interrupt(struct comedi_device 
*dev)
 
        outw(devpriv->supcsr | DT2821_CLRDMADNE, dev->iobase + DT2821_SUPCSR);
 
-       if (!s->async->prealloc_buf) {
-               dev_err(dev->class_dev, "no buffer in %s\n", __func__);
-               return;
-       }
-
        i = devpriv->current_dma_index;
        ptr = devpriv->dma[i].buf;
 
@@ -504,11 +499,6 @@ static void dt282x_ai_dma_interrupt(struct comedi_device 
*dev)
 
        outw(devpriv->supcsr | DT2821_CLRDMADNE, dev->iobase + DT2821_SUPCSR);
 
-       if (!s->async->prealloc_buf) {
-               dev_err(dev->class_dev, "no buffer in %s\n", __func__);
-               return;
-       }
-
        i = devpriv->current_dma_index;
        ptr = devpriv->dma[i].buf;
        size = devpriv->dma[i].size;
-- 
1.9.3

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

Reply via email to