summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-02-02 13:37:06 -0700
committerBin Meng <bmeng.cn@gmail.com>2020-03-05 18:19:04 +0800
commit7149d3800558df4b5ba535472c6968ea9b2332c9 (patch)
treec4c25136b7bd53d77e81d0317bdac57b2aebc41f
parentd16e18ca6c4d81ac142acd529b1acb55b0c96dfc (diff)
downloadu-boot-7149d3800558df4b5ba535472c6968ea9b2332c9.tar.gz
x86: Correct error return value in mrccache_get_region()
This function doesn't use uclass_find_first_device() correctly. Add a check that the device is found so we don't try to read properties from a NULL device. The fixes booting on minnoxmax. Fixes: 87f1084a630 ("x86: Adjust mrccache_get_region() to use livetree") Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r--arch/x86/lib/mrccache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/lib/mrccache.c b/arch/x86/lib/mrccache.c
index 8914960226..d1c44f290c 100644
--- a/arch/x86/lib/mrccache.c
+++ b/arch/x86/lib/mrccache.c
@@ -241,6 +241,8 @@ int mrccache_get_region(enum mrc_type_t type, struct udevice **devp,
* memory map cannot be read.
*/
ret = uclass_find_first_device(UCLASS_SPI_FLASH, &dev);
+ if (!ret && !dev)
+ ret = -ENODEV;
if (ret)
return log_msg_ret("Cannot find SPI flash\n", ret);
ret = dm_spi_get_mmap(dev, &map_base, &map_size, &offset);