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

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(-)
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);

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!
participants (2)
-
Pierre-Clément Tosi
-
Tom Rini