[PATCH] staging: comedi: dt2811: add parentheses to fix logic on s->subdev_flags

Colin King colin.king at canonical.com
Mon Jul 25 22:25:25 UTC 2016


From: Colin Ian King <colin.king at 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.king at 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
-- 
2.8.1



More information about the devel mailing list