summaryrefslogtreecommitdiff
path: root/common/spi_nor.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/spi_nor.c')
-rw-r--r--common/spi_nor.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/common/spi_nor.c b/common/spi_nor.c
index 9c0bec9523..dc69b19c3c 100644
--- a/common/spi_nor.c
+++ b/common/spi_nor.c
@@ -444,16 +444,17 @@ int spi_nor_init(void)
spi_nor_device,
table_major_rev, table_minor_rev, table_offset,
&capacity);
-
- mutex_lock(&driver_mutex);
- spi_nor_device->capacity = capacity;
- spi_nor_device->page_size = page_size;
- DEBUG_CPRINTS_DEVICE(
- spi_nor_device,
- "Updated to SFDP params: %dKiB w/ %dB pages",
- spi_nor_device->capacity >> 10,
- spi_nor_device->page_size);
- mutex_unlock(&driver_mutex);
+ if (rv == EC_SUCCESS) {
+ mutex_lock(&driver_mutex);
+ spi_nor_device->capacity = capacity;
+ spi_nor_device->page_size = page_size;
+ DEBUG_CPRINTS_DEVICE(
+ spi_nor_device,
+ "Updated to SFDP params: %dKiB w/ %dB pages",
+ spi_nor_device->capacity >> 10,
+ spi_nor_device->page_size);
+ mutex_unlock(&driver_mutex);
+ }
}
/* Ensure the device is in a determined addressing state by
@@ -764,7 +765,9 @@ static int command_spi_nor_info(int argc, char **argv)
spi_nor_device->page_size);
/* Get JEDEC ID info. */
- spi_nor_read_jedec_id(spi_nor_device, &mfn_bank, &mfn_id);
+ rv = spi_nor_read_jedec_id(spi_nor_device, &mfn_bank, &mfn_id);
+ if (rv != EC_SUCCESS)
+ return rv;
ccprintf("\tJEDEC ID bank %d manufacturing code 0x%x\n",
mfn_bank, mfn_id);