From 1f081530b60ee805532f106f59cc33973e160481 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Sat, 14 Oct 2017 15:01:13 +0200 Subject: spi25_statusreg: Return defined value on failed RDSR The interface of spi_read_status_register() is broken and can't return errors. Let's not return random stack data at least. Change-Id: I714b20001a5443bba665c2e0061ca14069777581 Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/22017 Tested-by: build bot (Jenkins) Reviewed-by: David Hendricks --- spi25_statusreg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spi25_statusreg.c b/spi25_statusreg.c index 01a68629..05c7acfd 100644 --- a/spi25_statusreg.c +++ b/spi25_statusreg.c @@ -117,8 +117,11 @@ uint8_t spi_read_status_register(struct flashctx *flash) /* Read Status Register */ ret = spi_send_command(flash, sizeof(cmd), sizeof(readarr), cmd, readarr); - if (ret) + if (ret) { msg_cerr("RDSR failed!\n"); + /* FIXME: We should propagate the error. */ + return 0; + } return readarr[0]; } -- cgit v1.2.3