On Wed, Mar 12, 2014 at 16:20 +0100, Michael Grzeschik wrote: > > The driver needs to shift the word bit after reading the mosi bit. > Otherwise the return word will have an Off-by-one bit value. The MISO gets read (is incoming), MOSI is outgoing. > > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Is the Cc: to stable@ appropriate without Fixes: or a version that's supposed to be affected? Has a bug been verified and are you certain that the fix is correct? > --- > drivers/spi/spi-bitbang-txrx.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-bitbang-txrx.h b/drivers/spi/spi-bitbang-txrx.h > index c616e41..b6e348d 100644 > --- a/drivers/spi/spi-bitbang-txrx.h > +++ b/drivers/spi/spi-bitbang-txrx.h > @@ -61,10 +61,10 @@ bitbang_txrx_be_cpha0(struct spi_device *spi, > spidelay(nsecs); > > /* sample MSB (from slave) on leading edge */ > - word <<= 1; > if ((flags & SPI_MASTER_NO_RX) == 0) > word |= getmiso(spi); > setsck(spi, cpol); > + word <<= 1; > } > return word; > } This seems wrong. You might have observed an off by one error. But this code change is suspicious. Shifting first and ORing then makes the sample end up in the lowest bit. That's expected. ORing the sample and shifting afterwards actually would be creating an off by one error. :-O virtually yours Gerhard Sittig -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr. 5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@xxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html