`apci3120_auto_attach()` first sets `devpriv->us_UseDma` to 1, then sets
it back to 0 if it fails to allocate the DMA buffer.  Since `*devpriv`
is initially zeroed out by `comedi_alloc_devpriv()`, change it to only
set `devpriv->us_UseDma` to 1 if the allocation succeeds.  Also, don't
bother explicitly initializing `devpriv->b_DmaDoubleBuffer` to 0 as it
is already zeroed out.

Signed-off-by: Ian Abbott <abbo...@mev.co.uk>
---
 drivers/staging/comedi/drivers/addi_apci_3120.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi_apci_3120.c 
b/drivers/staging/comedi/drivers/addi_apci_3120.c
index 1025541..ba71e24 100644
--- a/drivers/staging/comedi/drivers/addi_apci_3120.c
+++ b/drivers/staging/comedi/drivers/addi_apci_3120.c
@@ -88,10 +88,7 @@ static int apci3120_auto_attach(struct comedi_device *dev,
                        dev->irq = pcidev->irq;
        }
 
-       devpriv->us_UseDma = 1;
-
        /* Allocate DMA buffers */
-       devpriv->b_DmaDoubleBuffer = 0;
        for (i = 0; i < 2; i++) {
                for (order = 2; order >= 0; order--) {
                        devpriv->ul_DmaBufferVirtual[i] =
@@ -106,8 +103,8 @@ static int apci3120_auto_attach(struct comedi_device *dev,
                        break;
                devpriv->ui_DmaBufferSize[i] = PAGE_SIZE << order;
        }
-       if (!devpriv->ul_DmaBufferVirtual[0])
-               devpriv->us_UseDma = 0;
+       if (devpriv->ul_DmaBufferVirtual[0])
+               devpriv->us_UseDma = 1;
 
        if (devpriv->ul_DmaBufferVirtual[1])
                devpriv->b_DmaDoubleBuffer = 1;
-- 
2.1.0

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

Reply via email to