diff mbox series

qfw: Don't fail if setup data size is 0

Message ID 20220525133855.3335778-1-ptosi@google.com
State Accepted
Commit 24272ffd505be0597703032dbdd8ffdd7ef7a1a9
Delegated to: Tom Rini
Headers show
Series qfw: Don't fail if setup data size is 0 | expand

Commit Message

Pierre-Clément Tosi May 25, 2022, 1:38 p.m. UTC
Skip missing setup data (which is valid) rather than failing with an
error.

Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Reported-by: Andrew Walbran <qwandor@google.com>
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
---
 cmd/qfw.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Tom Rini June 7, 2022, 4:48 p.m. UTC | #1
On Wed, May 25, 2022 at 02:38:55PM +0100,  Pierre-Clément Tosi  wrote:

> Skip missing setup data (which is valid) rather than failing with an
> error.
> 
> Cc: Bin Meng <bmeng.cn@gmail.com>
> Cc: Simon Glass <sjg@chromium.org>
> Reported-by: Andrew Walbran <qwandor@google.com>
> Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>

Applied to u-boot/next, thanks!
diff mbox series

Patch

diff --git a/cmd/qfw.c b/cmd/qfw.c
index d58615040c..ccbc967ca9 100644
--- a/cmd/qfw.c
+++ b/cmd/qfw.c
@@ -25,15 +25,17 @@  static int qemu_fwcfg_cmd_setup_kernel(void *load_addr, void *initrd_addr)
 	qfw_read_entry(qfw_dev, FW_CFG_SETUP_SIZE, 4, &setup_size);
 	qfw_read_entry(qfw_dev, FW_CFG_KERNEL_SIZE, 4, &kernel_size);
 
-	if (setup_size == 0 || kernel_size == 0) {
+	if (kernel_size == 0) {
 		printf("warning: no kernel available\n");
 		return -1;
 	}
 
 	data_addr = load_addr;
-	qfw_read_entry(qfw_dev, FW_CFG_SETUP_DATA,
-		       le32_to_cpu(setup_size), data_addr);
-	data_addr += le32_to_cpu(setup_size);
+	if (setup_size != 0) {
+		qfw_read_entry(qfw_dev, FW_CFG_SETUP_DATA,
+			       le32_to_cpu(setup_size), data_addr);
+		data_addr += le32_to_cpu(setup_size);
+	}
 
 	qfw_read_entry(qfw_dev, FW_CFG_KERNEL_DATA,
 		       le32_to_cpu(kernel_size), data_addr);