From: Simon Glass Date: Thu, 16 Jan 2025 01:27:13 +0000 (-0700) Subject: vbe: Tidy up error checking with blk_read() X-Git-Tag: v2025.04-rc1~32^2~10 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d337037e1a7b74c05dcaff62739df45a2933078e;p=pandora-u-boot.git vbe: Tidy up error checking with blk_read() This function can read fewer blocks than requested, so update the checks to handle this. Signed-off-by: Simon Glass --- diff --git a/boot/vbe_common.c b/boot/vbe_common.c index ecf4ad916e0..0f5e0e4ca98 100644 --- a/boot/vbe_common.c +++ b/boot/vbe_common.c @@ -126,6 +126,8 @@ int vbe_read_fit(struct udevice *blk, ulong area_offset, ulong area_size, ret = blk_read(blk, blknum, 1, sbuf); if (ret < 0) return log_msg_ret("rd", ret); + else if (ret != 1) + return log_msg_ret("rd2", -EIO); ret = fdt_check_header(sbuf); if (ret < 0) @@ -214,6 +216,8 @@ int vbe_read_fit(struct udevice *blk, ulong area_offset, ulong area_size, blknum, full_size, num_blks, base, base_buf, ret); if (ret < 0) return log_msg_ret("rd", ret); + if (ret != num_blks) + return log_msg_ret("rd", -EIO); } if (load_addrp) *load_addrp = load_addr;