From: Stefan Agner <stefan.ag...@toradex.com>

If the NAND chip is missing get_nand_dev_by_index() returns NULL. Fail
gracefully in this case.

Signed-off-by: Stefan Agner <stefan.ag...@toradex.com>
---

 board/toradex/common/tdx-cfg-block.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/board/toradex/common/tdx-cfg-block.c 
b/board/toradex/common/tdx-cfg-block.c
index 57edb6c5c9..d4f5b1803a 100644
--- a/board/toradex/common/tdx-cfg-block.c
+++ b/board/toradex/common/tdx-cfg-block.c
@@ -156,10 +156,13 @@ out:
 static int read_tdx_cfg_block_from_nand(unsigned char *config_block)
 {
        size_t size = TDX_CFG_BLOCK_MAX_SIZE;
+       struct mtd_info *mtd = get_nand_dev_by_index(0);
+
+       if (!mtd)
+               return -ENODEV;
 
        /* Read production parameter config block from NAND page */
-       return nand_read_skip_bad(get_nand_dev_by_index(0),
-                                 CONFIG_TDX_CFG_BLOCK_OFFSET,
+       return nand_read_skip_bad(mtd, CONFIG_TDX_CFG_BLOCK_OFFSET,
                                  &size, NULL, TDX_CFG_BLOCK_MAX_SIZE,
                                  config_block);
 }
-- 
2.18.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to