From: H Hartley Sweeten Date: Tue, 9 Apr 2013 01:21:02 +0000 (-0700) Subject: staging: comedi: rti800: swap val and mask when reading ai data X-Git-Tag: v3.10-rc1~192^2~191 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aac49c3417dc9378cbcead70c671d79cd626709f;p=profile%2Fivi%2Fkernel-x86-ivi.git staging: comedi: rti800: swap val and mask when reading ai data The (mask & val) operation when reading the high 4-bits of the analog data looks strange. Change it to (val & mask). Signed-off-by: H Hartley Sweeten Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/rti800.c b/drivers/staging/comedi/drivers/rti800.c index d788c19..0084038 100644 --- a/drivers/staging/comedi/drivers/rti800.c +++ b/drivers/staging/comedi/drivers/rti800.c @@ -217,7 +217,7 @@ static int rti800_ai_insn_read(struct comedi_device *dev, return ret; data[i] = inb(dev->iobase + RTI800_ADCLO); - data[i] |= (0xf & inb(dev->iobase + RTI800_ADCHI)) << 8; + data[i] |= (inb(dev->iobase + RTI800_ADCHI) & 0xf) << 8; if (devpriv->adc_2comp) data[i] ^= 0x800;