Skip to content
Snippets Groups Projects
Commit f6fcad5f authored by Mario Six's avatar Mario Six Committed by Jagan Teki
Browse files

spi: mpc8xxx: Fix if check


Decreasing the bit length and increasing the write data pointer should
be done when there are more than 32 bit of data, not 16 bit.

This did not produce incorrect behavior, because the only time where the
two checks produce different outcomes is the case of 16 < bitlen < 32,
and in this case the subsequent transmission is the last one regardless,
hence the additional bit length decrease and write data pointer increase
has no effect anyway.

Still, the correct check is the check for "bitlen > 32", so correct this
behavior.

Signed-off-by: Mario Six's avatarMario Six <mario.six@gdsys.cc>
Acked-by: default avatarJagan Teki <jagan@amarulasolutions.com>
parent a1c178e4
No related branches found
No related tags found
No related merge requests found
......@@ -132,7 +132,7 @@ int spi_xfer(struct spi_slave *slave, uint bitlen, const void *dout, void *din,
/* Shift data so it's msb-justified */
tmpdout = *(u32 *)dout >> (32 - xfer_bitlen);
if (bitlen > 16) {
if (bitlen > 32) {
/* Set up the next iteration if sending > 32 bits */
bitlen -= 32;
dout += 4;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment