Commit c0d4010e11e23d6f55f9bdda63b1974f35af71bf

Authored by Linus Walleij
Committed by Samuel Ortiz
1 parent eb6e8ddf06

mfd: AB8500 mask off irrelevant bits from the SPI message

The registers on the AB8500 are only 8 bits wide, so the content
of the remaining bits is undefined. Let's mask off the undefined
stuff when returning a register in an SPI read.

Acked-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

Showing 1 changed file with 6 additions and 1 deletions Side-by-side Diff

drivers/mfd/ab8500-spi.c
... ... @@ -68,7 +68,12 @@
68 68  
69 69 ret = spi_sync(spi, &msg);
70 70 if (!ret)
71   - ret = ab8500->rx_buf[0];
  71 + /*
  72 + * Only the 8 lowermost bytes are
  73 + * defined with value, the rest may
  74 + * vary depending on chip/board noise.
  75 + */
  76 + ret = ab8500->rx_buf[0] & 0xFFU;
72 77  
73 78 return ret;
74 79 }