|
@@ -37,15 +37,15 @@ static int nand_block_op(enum dfu_op op, struct dfu_entity *dfu,
|
|
lim = dfu->data.nand.start + dfu->data.nand.size - start;
|
|
lim = dfu->data.nand.start + dfu->data.nand.size - start;
|
|
count = *len;
|
|
count = *len;
|
|
|
|
|
|
|
|
+ mtd = get_nand_dev_by_index(nand_curr_device);
|
|
|
|
+
|
|
if (nand_curr_device < 0 ||
|
|
if (nand_curr_device < 0 ||
|
|
nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE ||
|
|
nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE ||
|
|
- !nand_info[nand_curr_device]) {
|
|
|
|
|
|
+ !mtd) {
|
|
printf("%s: invalid nand device\n", __func__);
|
|
printf("%s: invalid nand device\n", __func__);
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- mtd = nand_info[nand_curr_device];
|
|
|
|
-
|
|
|
|
if (op == DFU_OP_READ) {
|
|
if (op == DFU_OP_READ) {
|
|
ret = nand_read_skip_bad(mtd, start, &count, &actual,
|
|
ret = nand_read_skip_bad(mtd, start, &count, &actual,
|
|
lim, buf);
|
|
lim, buf);
|
|
@@ -143,18 +143,16 @@ static int dfu_flush_medium_nand(struct dfu_entity *dfu)
|
|
|
|
|
|
/* in case of ubi partition, erase rest of the partition */
|
|
/* in case of ubi partition, erase rest of the partition */
|
|
if (dfu->data.nand.ubi) {
|
|
if (dfu->data.nand.ubi) {
|
|
- struct mtd_info *mtd;
|
|
|
|
|
|
+ struct mtd_info *mtd = get_nand_dev_by_index(nand_curr_device);
|
|
nand_erase_options_t opts;
|
|
nand_erase_options_t opts;
|
|
|
|
|
|
if (nand_curr_device < 0 ||
|
|
if (nand_curr_device < 0 ||
|
|
nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE ||
|
|
nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE ||
|
|
- !nand_info[nand_curr_device]) {
|
|
|
|
|
|
+ !mtd) {
|
|
printf("%s: invalid nand device\n", __func__);
|
|
printf("%s: invalid nand device\n", __func__);
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- mtd = nand_info[nand_curr_device];
|
|
|
|
-
|
|
|
|
memset(&opts, 0, sizeof(opts));
|
|
memset(&opts, 0, sizeof(opts));
|
|
off = dfu->offset;
|
|
off = dfu->offset;
|
|
if ((off & (mtd->erasesize - 1)) != 0) {
|
|
if ((off & (mtd->erasesize - 1)) != 0) {
|