From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Tom Rini <trini@konsulko.com>,
Albert Aribaud <albert.u.boot@aribaud.net>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Simon Glass <sjg@chromium.org>
Subject: [PATCH 04/13] bootstd: Probe the block device before use
Date: Sat, 28 Jan 2023 15:00:19 -0700 [thread overview]
Message-ID: <20230128220028.53575-5-sjg@chromium.org> (raw)
In-Reply-To: <20230128220028.53575-1-sjg@chromium.org>
In some cases the block device is obtained but is not probed, since it
is a sibling of the bootdev. Make sure it is probed, so it can be used
without any trouble.
This fixes a bug with virtio, where the device is accessed before it has
been set up by the virtio uclass.
Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 201417d700a ("bootstd: Add the bootdev uclass")
Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
---
boot/bootdev-uclass.c | 3 +++
boot/bootflow.c | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c
index 99ee08e3353..8103a11d1bb 100644
--- a/boot/bootdev-uclass.c
+++ b/boot/bootdev-uclass.c
@@ -309,6 +309,9 @@ int bootdev_get_sibling_blk(struct udevice *dev, struct udevice **blkp)
if (ret)
return log_msg_ret("find", ret);
}
+ ret = device_probe(blk);
+ if (ret)
+ return log_msg_ret("act", ret);
*blkp = blk;
return 0;
diff --git a/boot/bootflow.c b/boot/bootflow.c
index dc3f1f0c731..b8fa37ee2a0 100644
--- a/boot/bootflow.c
+++ b/boot/bootflow.c
@@ -270,6 +270,10 @@ static int iter_incr(struct bootflow_iter *iter)
if (ret) {
bootflow_iter_set_dev(iter, NULL, 0);
} else {
+ /*
+ * Probe the bootdev. This does not probe any attached
+ * block device, since they are siblings
+ */
ret = device_probe(dev);
log_debug("probe %s %d\n", dev->name, ret);
if (!log_msg_ret("probe", ret))
--
2.39.1.456.gfc5497dd1b-goog
next prev parent reply other threads:[~2023-01-28 22:02 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-28 22:00 [PATCH 00/13] bootstd: Update ARM QEMU for standard boot and environment Simon Glass
2023-01-28 22:00 ` [PATCH 01/13] log: Add a category for filesystems Simon Glass
2023-02-07 16:51 ` Tom Rini
2023-01-28 22:00 ` [PATCH 02/13] virtio: Add some debugging Simon Glass
2023-02-07 16:51 ` Tom Rini
2023-01-28 22:00 ` [PATCH 03/13] bootstd: Allow enabling BOOTSTD_FULL without needing EXPO Simon Glass
2023-02-07 16:51 ` Tom Rini
2023-01-28 22:00 ` Simon Glass [this message]
2023-02-07 16:51 ` [PATCH 04/13] bootstd: Probe the block device before use Tom Rini
2023-01-28 22:00 ` [PATCH 05/13] bootstd: Correct virtio block-device handling Simon Glass
2023-02-07 16:51 ` Tom Rini
2023-01-28 22:00 ` [PATCH 06/13] bootstd: Add some default filesystems and commands Simon Glass
2023-02-07 16:51 ` Tom Rini
2023-01-28 22:00 ` [PATCH 07/13] qemu: Update qfw command to use addresses Simon Glass
2023-02-07 16:52 ` Tom Rini
2023-01-28 22:00 ` [PATCH 08/13] qemu: Move qfw kernel setup into a common file Simon Glass
2023-02-07 16:52 ` Tom Rini
2023-01-28 22:00 ` [PATCH 09/13] qemu: Add a bootdev for qfw Simon Glass
2023-02-07 16:52 ` Tom Rini
2023-01-28 22:00 ` [PATCH 10/13] qemu: Add a bootmeth " Simon Glass
2023-02-07 16:52 ` Tom Rini
2023-01-28 22:00 ` [PATCH 11/13] arm: qemu: Switch to standard boot Simon Glass
2023-02-07 16:52 ` Tom Rini
2023-01-28 22:00 ` [PATCH 12/13] arm: qemu: Switch to a text environment Simon Glass
2023-02-07 16:52 ` Tom Rini
2023-01-28 22:00 ` [PATCH 13/13] arm: qemu: Move GUIDs to the C file Simon Glass
2023-02-07 16:52 ` Tom Rini
2023-01-30 17:19 ` [PATCH 00/13] bootstd: Update ARM QEMU for standard boot and environment Tom Rini
2023-01-31 14:16 ` Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230128220028.53575-5-sjg@chromium.org \
--to=sjg@chromium.org \
--cc=albert.u.boot@aribaud.net \
--cc=ilias.apalodimas@linaro.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox