Kyösti Mälkki (kyosti.malkki@gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18082
-gerrit
commit 5665add99e44f61b1a6d5e3880e6bbcb672d2bfe Author: Kyösti Mälkki kyosti.malkki@gmail.com Date: Tue Jan 10 06:25:57 2017 +0200
SPI: Fix command-response behavior
Fix SPI flash ops regressions after commit: c2973d1 spi: Get rid of SPI_ATOMIC_SEQUENCING
When spi_flash_cmd() is called with argument response==NULL, only send out command without reading back the response.
Change-Id: I28a94f208b4a1983d45d69d46db41391e267891d Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- src/drivers/spi/spi_flash.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/drivers/spi/spi_flash.c b/src/drivers/spi/spi_flash.c index a0e3105..95362f2 100644 --- a/src/drivers/spi/spi_flash.c +++ b/src/drivers/spi/spi_flash.c @@ -49,11 +49,14 @@ static int do_spi_flash_cmd(const struct spi_slave *spi, const void *dout, [1] = { .dout = NULL, .bytesout = 0, .din = din, .bytesin = bytes_in }, }; + size_t count = ARRAY_SIZE(vectors); + if (!bytes_in) + count = 1;
if (spi_claim_bus(spi)) return ret;
- if (spi_xfer_vector(spi, vectors, ARRAY_SIZE(vectors)) == 0) + if (spi_xfer_vector(spi, vectors, count) == 0) ret = 0;
spi_release_bus(spi);