mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-28 07:03:31 +08:00
Exynos: SPI: Fix reading data from SPI flash
SPI recieve and transfer code in exynos_spi driver has a logical bug. We read data in a variable which can hold an integer. Then we assign this integer 32 bit value to another variable which has data type uchar. Latter represents a unit of our recieve buffer. Everytime when we write a value to our recieve buffer we step ahead by 4 units when actually we wrote to one unit. This results in the loss of 3 bytes out of every 4 bytes recieved. This patch intends to fix this bug. Signed-off-by: Akshay Saraswat <akshay.s@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
4a1883651f
commit
e76d2a81bc
@ -302,7 +302,10 @@ static int spi_rx_tx(struct exynos_spi_slave *spi_slave, int todo,
|
||||
}
|
||||
} else {
|
||||
if (rxp || stopping) {
|
||||
*rxp = temp;
|
||||
if (step == 4)
|
||||
*(uint32_t *)rxp = temp;
|
||||
else
|
||||
*rxp = temp;
|
||||
rxp += step;
|
||||
}
|
||||
in_bytes -= step;
|
||||
|
Loading…
Reference in New Issue
Block a user