bugfix from Luke Stras
authorDavid Schleef <ds@schleef.org>
Fri, 15 Dec 2000 18:27:22 +0000 (18:27 +0000)
committerDavid Schleef <ds@schleef.org>
Fri, 15 Dec 2000 18:27:22 +0000 (18:27 +0000)
comedi/drivers/das08.c

index 275c2bbd07c25cd61b1fc249aa16f611a844e3ee..9f0d5d63d2671b9dbadfc5c23c6c71f421b1dd79 100644 (file)
@@ -205,7 +205,9 @@ static int das08_ai(comedi_device *dev,comedi_subdevice *s,comedi_trig *it)
 #endif
 
        /* set multiplexer */
-       outb_p(chan | devpriv->dio,dev->iobase+STATUS_REG);
+       devpriv->dio &= ~0xf;
+       devpriv->dio |= chan;
+       outb_p(devpriv->dio,dev->iobase+STATUS_REG);
 
        /* XXX do we have to wait for MUX to settle?  how long? */
        
@@ -263,7 +265,9 @@ static int das08_do(comedi_device *dev,comedi_subdevice *s,comedi_trig *it)
 {
        do_pack(&s->state,it);
        
-       outb_p(s->state<<4,dev->iobase+STATUS_REG);
+       devpriv->dio &= ~0xf0;
+       devpriv->dio |= s->state << 4;
+       outb_p(devpriv->dio,dev->iobase+STATUS_REG);
 
        return it->n_chan;
 }