From patchwork Sun Feb 2 20:37:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 235794 List-Id: U-Boot discussion From: sjg at chromium.org (Simon Glass) Date: Sun, 2 Feb 2020 13:37:06 -0700 Subject: [PATCH] x86: Correct error return value in mrccache_get_region() Message-ID: <20200202133701.1.If5436f9437aecc61a230c401597337790bb139df@changeid> 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 Reviewed-by: Bin Meng --- arch/x86/lib/mrccache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/lib/mrccache.c b/arch/x86/lib/mrccache.c index b9420a4cab..288673b0ea 100644 --- a/arch/x86/lib/mrccache.c +++ b/arch/x86/lib/mrccache.c @@ -240,6 +240,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);