Signed-off-by: Marek Vasut <[email protected]>
Cc: Wolfgang Denk <[email protected]>
---
 fs/ext2/dev.c |   74 +++++++++++++++++++++++++++------------------------------
 1 file changed, 35 insertions(+), 39 deletions(-)

diff --git a/fs/ext2/dev.c b/fs/ext2/dev.c
index 315ff53..f8cb8b7 100644
--- a/fs/ext2/dev.c
+++ b/fs/ext2/dev.c
@@ -35,6 +35,7 @@ static disk_partition_t part_info;
 int ext2fs_set_blk_dev(block_dev_desc_t *rbdd, int part)
 {
        ext2fs_block_dev_desc = rbdd;
+       int ret;
 
        if (part == 0) {
                /* disk doesn't use partition table */
@@ -42,60 +43,53 @@ int ext2fs_set_blk_dev(block_dev_desc_t *rbdd, int part)
                part_info.size = rbdd->lba;
                part_info.blksz = rbdd->blksz;
        } else {
-               if (get_partition_info
-                   (ext2fs_block_dev_desc, part, &part_info)) {
+               ret = get_partition_info(ext2fs_block_dev_desc, part,
+                                               &part_info);
+               if (ret)
                        return 0;
-               }
        }
+
        return part_info.size;
 }
 
-
 int ext2fs_devread(int sector, int byte_offset, int byte_len, char *buf)
 {
        ALLOC_CACHE_ALIGN_BUFFER(char, sec_buf, SECTOR_SIZE);
        unsigned sectors;
+       unsigned val;
 
-       /*
-        *  Check partition boundaries
-        */
-       if ((sector < 0) ||
-           ((sector + ((byte_offset + byte_len - 1) >> SECTOR_BITS)) >=
-               part_info.size)) {
-               /* errnum = ERR_OUTSIDE_PART; */
-               printf(" ** %s read outside partition sector %d\n",
-                      __func__,
-                      sector);
+       /* Check partition boundaries */
+       val = sector + ((byte_offset + byte_len - 1) >> SECTOR_BITS);
+       if ((sector < 0) || (val >= part_info.size)) {
+               printf("EXT2: read outside partition %d\n", sector);
                return 0;
        }
 
-       /*
-        *  Get the read to the beginning of a partition.
-        */
+       /* Get the read to the beginning of a partition */
        sector += byte_offset >> SECTOR_BITS;
        byte_offset &= SECTOR_SIZE - 1;
 
        debug(" <%d, %d, %d>\n", sector, byte_offset, byte_len);
 
        if (ext2fs_block_dev_desc == NULL) {
-               printf(" ** %s Invalid Block Device Descriptor (NULL)\n",
-                      __func__);
+               printf("EXT2: Invalid Block Device Descriptor (NULL)\n");
                return 0;
        }
 
        if (byte_offset != 0) {
                /* read first part which isn't aligned with start of sector */
-               if (ext2fs_block_dev_desc->
-                   block_read(ext2fs_block_dev_desc->dev,
-                              part_info.start + sector, 1,
-                              (unsigned long *) sec_buf) != 1) {
-                       printf(" ** %s read error **\n", __func__);
+               val = ext2fs_block_dev_desc->block_read(
+                               ext2fs_block_dev_desc->dev,
+                               part_info.start + sector, 1,
+                               (unsigned long *)sec_buf);
+               if (val != 1) {
+                       printf("EXT2: read error\n");
                        return 0;
                }
-               memcpy(buf, sec_buf + byte_offset,
-                      min(SECTOR_SIZE - byte_offset, byte_len));
-               buf += min(SECTOR_SIZE - byte_offset, byte_len);
-               byte_len -= min(SECTOR_SIZE - byte_offset, byte_len);
+               val = min(SECTOR_SIZE - byte_offset, byte_len);
+               memcpy(buf, sec_buf + byte_offset, val);
+               buf += val;
+               byte_len -= val;
                sector++;
        }
 
@@ -103,12 +97,12 @@ int ext2fs_devread(int sector, int byte_offset, int 
byte_len, char *buf)
        sectors = byte_len / SECTOR_SIZE;
 
        if (sectors > 0) {
-               if (ext2fs_block_dev_desc->block_read(
-                       ext2fs_block_dev_desc->dev,
-                       part_info.start + sector,
-                       sectors,
-                       (unsigned long *) buf) != sectors) {
-                       printf(" ** %s read error - block\n", __func__);
+               val = ext2fs_block_dev_desc->block_read(
+                               ext2fs_block_dev_desc->dev,
+                               part_info.start + sector, sectors,
+                               (unsigned long *)buf);
+               if (val != sectors) {
+                       printf("EXT2: read error - block\n");
                        return 0;
                }
 
@@ -119,14 +113,16 @@ int ext2fs_devread(int sector, int byte_offset, int 
byte_len, char *buf)
 
        if (byte_len != 0) {
                /* read rest of data which are not in whole sector */
-               if (ext2fs_block_dev_desc->
-                   block_read(ext2fs_block_dev_desc->dev,
-                              part_info.start + sector, 1,
-                              (unsigned long *) sec_buf) != 1) {
-                       printf(" ** %s read error - last part\n", __func__);
+               val = ext2fs_block_dev_desc->block_read(
+                               ext2fs_block_dev_desc->dev,
+                               part_info.start + sector, 1,
+                               (unsigned long *)sec_buf);
+               if (val != 1) {
+                       printf("EXT2: read error - last part\n");
                        return 0;
                }
                memcpy(buf, sec_buf, byte_len);
        }
+
        return 1;
 }
-- 
1.7.10

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to