fs/fat: Correct blk_dread() return value check
authorTom Rini <trini@konsulko.com>
Tue, 15 Aug 2017 01:02:08 +0000 (21:02 -0400)
committerTom Rini <trini@konsulko.com>
Sun, 20 Aug 2017 13:54:31 +0000 (09:54 -0400)
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.

Signed-off-by: Tom Rini <trini@konsulko.com>
fs/fat/fat.c

index 9ad18f96ff072c21f623a4f66b838143c86b5863..465a6875edf509a17054adeefa6af73985543bdc 100644 (file)
@@ -54,7 +54,7 @@ static int disk_read(__u32 block, __u32 nr_blocks, void *buf)
 
        ret = blk_dread(cur_dev, cur_part_info.start + block, nr_blocks, buf);
 
-       if (nr_blocks && ret == 0)
+       if (ret != nr_blocks)
                return -1;
 
        return ret;