diff options
author | Robin Murphy <robin.murphy@arm.com> | 2022-08-03 15:58:57 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-08-15 01:26:20 +0100 |
commit | 46f7ac3d7892e808c9ba01c39da6bb85cda26ecd (patch) | |
tree | dae9d3f12927dec8c225abd1e273e8a0a463c761 /include | |
parent | Linux 6.0-rc1 (diff) | |
download | linux-dev-46f7ac3d7892e808c9ba01c39da6bb85cda26ecd.tar.xz linux-dev-46f7ac3d7892e808c9ba01c39da6bb85cda26ecd.zip |
spi: bitbang: Fix lsb-first Rx
Shifting the recieved bit by "bits" inserts it at the top of the
*currently remaining* Tx data, so we end up accumulating the whole
transfer into bit 0 of the output word. Oops.
For the algorithm to work as intended, we need to remember where the
top of the *original* word was, and shift Rx to there.
Fixes: 1847e3046c52 ("spi: gpio: Implement LSB First bitbang support")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/28324d8622da80461cce35a82859b003d6f6c4b0.1659538737.git.robin.murphy@arm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions