int p;
int part;
block_dev_desc_t *dd;
+ char dev_part_str[16];
dd = get_dev(ifname, devno);
if (!dd || dd->type == DEV_TYPE_UNKNOWN) {
ret = -1;
goto cleanup;
}
-
+ snprintf(dev_part_str, sizeof(dev_part_str), "%d:%d", devno, part);
+ fs_set_blk_dev(ifname, dev_part_str, fstype);
ret = part;
*dev_desc = dd;
debug("Read %u (%u) byte from partition '%s' @ offset 0x"LBAF"\n",
ret * mmc->read_bl_len, len, part, part_info.start);
} else if (partnum == 0) {
- int len_read;
-
- printf("Reading file %s from mmc partition %d\n", part, 0);
- len_read = fs_read(part, (ulong)addr, 0, len);
+ loff_t len_read;
+
+ debug("Reading file %s from mmc partition %d\n", part,
+ partnum);
+ ret = fs_read(part, (ulong)addr, 0, len, &len_read);
+ if (ret < 0) {
+ printf("Failed to read %u byte from mmc partition %d\n",
+ len, partnum);
+ goto out;
+ }
if (len_read < len) {
- printf("Read only %u of %u bytes\n", len_read, len);
+ printf("Read only %llu of %u bytes\n", (u64)len_read, len);
}
} else {
ret = partnum;