staging: comedi: amplc_dio200_common: correct bound on counter mode
authorIan Abbott <abbotti@mev.co.uk>
Thu, 1 May 2014 16:38:24 +0000 (17:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 May 2014 00:08:57 +0000 (20:08 -0400)
For the mode configured by the `INSN_CONFIG_SET_COUNTER_MODE` comedi
instruction for the counter subdevice channels supported by this module,
the upper bound should be `I8254_MODE5 | I8254_BCD` ((5 << 1) | 1)
rather than `I8254_MODE5 | I8254_BINARY` ((5 << 1) | 0).  Fix it.

Reported-by: Hartley Sweeten <HartleyS@visionengravers.com>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/amplc_dio200_common.c

index 4ac320884ac61cacb830cd0da4ddb19a18a64aa8..ee18537b5a92d7f73792b7af067174a38795b280 100644 (file)
@@ -820,7 +820,7 @@ dio200_subdev_8254_config(struct comedi_device *dev, struct comedi_subdevice *s,
        spin_lock_irqsave(&subpriv->spinlock, flags);
        switch (data[0]) {
        case INSN_CONFIG_SET_COUNTER_MODE:
-               if (data[1] > (I8254_MODE5 | I8254_BINARY))
+               if (data[1] > (I8254_MODE5 | I8254_BCD))
                        ret = -EINVAL;
                else
                        dio200_subdev_8254_set_mode(dev, s, chan, data[1]);