From: Stanislav Pinchuk <Stanislav.Pinchuk@kaspersky.com>
Date: Wed, 20 Jan 2021 18:52:23 +0000 (+0300)
Subject: do not pass NULL pointer to libfdt
X-Git-Tag: v2025.01-rc5-pxa1908~2034^2~3
X-Git-Url: http://git.dujemihanovic.xyz/browse.php?a=commitdiff_plain;h=a00e0f7ae5a3058dc8dd520d1d449d4c8806e5f8;p=u-boot.git

do not pass NULL pointer to libfdt

Re-send because of line-wraps.

Without this patch, u-boot just hangs if the fdt pointer is
not initialized. The diagnostic subsystems are not yet initialized,
so all you get is a blind hang.

Signed-off-by: Stanislav.Pinchuk@kaspersky.com
---

diff --git a/include/dm/read.h b/include/dm/read.h
index f6f8b875d1..03ba98232a 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -1006,7 +1006,7 @@ static inline u64 dev_translate_dma_address(const struct udevice *dev,
 
 static inline int dev_read_alias_highest_id(const char *stem)
 {
-	if (!CONFIG_IS_ENABLED(OF_LIBFDT))
+	if (!CONFIG_IS_ENABLED(OF_LIBFDT) || !gd->fdt_blob)
 		return -1;
 	return fdtdec_get_alias_highest_id(gd->fdt_blob, stem);
 }