The function blk_dread will return -ENOSYS on failure or on success the
number of blocks read, which must be the number asked to read (otherwise
it failed somewhere).  Correct this check.

Reported-by: Coverity (CID: 166335)
Cc: Philipp Tomsich <philipp.toms...@theobroma-systems.com>
Cc: Simon Glass <s...@chromium.org>
Cc: Bin Meng <bmeng...@gmail.com>
Signed-off-by: Tom Rini <tr...@konsulko.com>
---
 cmd/read.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cmd/read.c b/cmd/read.c
index ecf925426fcc..82c2d9ad994e 100644
--- a/cmd/read.c
+++ b/cmd/read.c
@@ -66,7 +66,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * 
const argv[])
                return 1;
        }
 
-       if (blk_dread(dev_desc, offset + blk, cnt, addr) < 0) {
+       if (blk_dread(dev_desc, offset + blk, cnt, addr) != cnt) {
                printf("Error reading blocks\n");
                return 1;
        }
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to