diff options
author | Simon Glass <sjg@chromium.org> | 2020-02-02 13:37:06 -0700 |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2020-03-05 18:19:04 +0800 |
commit | 7149d3800558df4b5ba535472c6968ea9b2332c9 (patch) | |
tree | c4c25136b7bd53d77e81d0317bdac57b2aebc41f | |
parent | d16e18ca6c4d81ac142acd529b1acb55b0c96dfc (diff) | |
download | u-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.c | 2 |
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); |