diff options
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_65xx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/staging/comedi/drivers/ni_65xx.c b/drivers/staging/comedi/drivers/ni_65xx.c index b664ce083fc5..bbf75eb6d7f2 100644 --- a/drivers/staging/comedi/drivers/ni_65xx.c +++ b/drivers/staging/comedi/drivers/ni_65xx.c | |||
| @@ -457,6 +457,12 @@ static int ni_65xx_dio_insn_bits(struct comedi_device *dev, | |||
| 457 | port_read_bits = | 457 | port_read_bits = |
| 458 | readb(private(dev)->mite->daq_io_addr + Port_Data(port)); | 458 | readb(private(dev)->mite->daq_io_addr + Port_Data(port)); |
| 459 | /* printk("read 0x%x from port %i\n", port_read_bits, port); */ | 459 | /* printk("read 0x%x from port %i\n", port_read_bits, port); */ |
| 460 | if (s->type == COMEDI_SUBD_DO && board(dev)->invert_outputs) { | ||
| 461 | /* Outputs inverted, so invert value read back from | ||
| 462 | * DO subdevice. (Does not apply to boards with DIO | ||
| 463 | * subdevice.) */ | ||
| 464 | port_read_bits ^= 0xFF; | ||
| 465 | } | ||
| 460 | if (bitshift > 0) { | 466 | if (bitshift > 0) { |
| 461 | port_read_bits <<= bitshift; | 467 | port_read_bits <<= bitshift; |
| 462 | } else { | 468 | } else { |
