From cf13ef80880733e7186679a3dfcc348b0d710acc Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 12 Jan 2023 16:48:54 -0700 Subject: [PATCH] [PATCH v2] vbe: Allow probing the VBE bootmeth to fail in OS fixup To: U-Boot Mailing List Cc: Tom Rini , Simon Glass , Karsten Merker , Heinrich Schuchardt Message-Id: <20230112234854.936325-1-sjg@chromium.org> Origin: https://patchwork.ozlabs.org/project/uboot/patch/20230112234854.936325-1-sjg@chromium.org/ Bug-Debian: https://bugs.debian.org/1028343 This device is created when there are no bootmeths defined in the device tree. But it cannot be probed without a device tree node. For now, ignore a probe failure. Signed-off-by: Simon Glass Reported-by: Karsten Merker Suggested-by: Heinrich Schuchardt Fixes: a56f663f0707 ("vbe: Add info about the VBE device to the fwupd node") Gbp-Pq: Topic riscv64 Gbp-Pq: Name vbe-Allow-probing-the-VBE-bootmeth-to-fail-in-OS-fixup.patch --- boot/vbe_simple_os.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/boot/vbe_simple_os.c b/boot/vbe_simple_os.c index b2041a95a..8c641ec07 100644 --- a/boot/vbe_simple_os.c +++ b/boot/vbe_simple_os.c @@ -72,6 +72,18 @@ static int bootmeth_vbe_simple_ft_fixup(void *ctx, struct event *event) chosen = oftree_path(tree, "/chosen"); if (!ofnode_valid(chosen)) continue; + + ret = device_probe(dev); + if (ret) { + /* + * This should become an error when VBE is updated to + * only bind this device when a node exists + */ + log_debug("VBE device '%s' failed to probe (err=%d)", + dev->name, ret); + return 0; + } + ret = ofnode_add_subnode(chosen, "fwupd", &node); if (ret && ret != -EEXIST) return log_msg_ret("fwu", ret); @@ -80,10 +92,6 @@ static int bootmeth_vbe_simple_ft_fixup(void *ctx, struct event *event) if (ret && ret != -EEXIST) return log_msg_ret("dev", ret); - ret = device_probe(dev); - if (ret) - return log_msg_ret("probe", ret); - /* Copy over the vbe properties for fwupd */ log_debug("Fixing up: %s\n", dev->name); ret = ofnode_copy_props(dev_ofnode(dev), subnode); -- 2.30.2