[coreboot-gerrit] New patch to review for coreboot: SPI: Fix command-response behavior

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Tue Jan 10 05:27:31 CET 2017


Kyösti Mälkki (kyosti.malkki at 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 at 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 at 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);



More information about the coreboot-gerrit mailing list