switch (devpriv->ai_do) {
        case 1:
-               devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR |
-                                   PCI9118_AI_CTRL_DMA;
+               devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR;
                break;
        case 2:
-               devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR |
-                                   PCI9118_AI_CTRL_DMA;
+               devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR;
                devpriv->ai_cfg |= PCI9118_AI_CFG_BM |
                                   PCI9118_AI_CFG_BS;
                if (cmd->convert_src == TRIG_NOW && !devpriv->softsshdelay)
                     dev->iobase + PCI9118_AI_BURST_NUM_REG);
                break;
        case 3:
-               devpriv->ai_ctrl |= PCI9118_AI_CTRL_EXTM |
-                                   PCI9118_AI_CTRL_DMA;
+               devpriv->ai_ctrl |= PCI9118_AI_CTRL_EXTM;
                break;
        case 4:
-               devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR |
-                                   PCI9118_AI_CTRL_DMA;
+               devpriv->ai_ctrl |= PCI9118_AI_CTRL_TMRTR;
                devpriv->ai_cfg |= PCI9118_AI_CFG_AM;
                outl(devpriv->ai_cfg, dev->iobase + PCI9118_AI_CFG_REG);
                pci9118_timer_set_mode(dev, 0, I8254_MODE0);
                devpriv->ai_do = 3;
        }
 
+       if (devpriv->usedma)
+               devpriv->ai_ctrl |= PCI9118_AI_CTRL_DMA;
+
        pci9118_start_pacer(dev, -1);   /* stop pacer */
 
        /* set default config (disable burst and triggers) */