On 25/07/16 23:25, Colin King wrote:
From: Colin Ian King <colin.k...@canonical.com>

We need to add parentheses around ternary operations because currently
the expression SDF_READABLE | (it->options[2] == 1) always evaluates to
true, meaning s->subdev_flags is always assigned SDF_DIFF. Putting the
parentheses around the ternarary operations results in the intended
expression of SDF_REABLE logically or'd with one of SDF_DIFF,
SDF_COMMON or SDF_GROUND.

Signed-off-by: Colin Ian King <colin.k...@canonical.com>
---
 drivers/staging/comedi/drivers/dt2811.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/dt2811.c 
b/drivers/staging/comedi/drivers/dt2811.c
index 904f6377..8bbd938 100644
--- a/drivers/staging/comedi/drivers/dt2811.c
+++ b/drivers/staging/comedi/drivers/dt2811.c
@@ -588,8 +588,8 @@ static int dt2811_attach(struct comedi_device *dev, struct 
comedi_devconfig *it)
        s = &dev->subdevices[0];
        s->type              = COMEDI_SUBD_AI;
        s->subdev_flags      = SDF_READABLE |
-                         (it->options[2] == 1) ? SDF_DIFF :
-                         (it->options[2] == 2) ? SDF_COMMON : SDF_GROUND;
+                         ((it->options[2] == 1) ? SDF_DIFF :
+                          (it->options[2] == 2) ? SDF_COMMON : SDF_GROUND);
        s->n_chan    = (it->options[2] == 1) ? 8 : 16;
        s->maxdata   = 0x0fff;
        s->range_table       = board->is_pgh ? &dt2811_pgh_ai_ranges


Thanks for catching that.

Fixes: 7c9574090d30 ("staging: comedi: dt2811: simplify A/D reference configuration"
Cc: <sta...@vger.kernel.org> # 4.7+
Reviewed-by: Ian Abbott <abbo...@mev.co.uk>

--
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbo...@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to