diff options
| author | Tom Rini <trini@konsulko.com> | 2020-01-25 12:04:59 -0500 |
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2020-01-25 12:04:59 -0500 |
| commit | d31dd3b596190bdecbd109e404f16bd208fe32ba (patch) | |
| tree | d862bd67736079799b474d876f38b75032ade5b6 /cmd | |
| parent | 2c871f9e084b2c03d1961884228a6901387ab8d6 (diff) | |
| parent | 683b7c2a170a71bded99bb9e7dfd26372427ca1c (diff) | |
Merge branch '2020-01-24-master-imports'
- Enable fastboot on some MediaTek platforms
- DMA enchancements
- Assorted bugfixes
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/mtd.c | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -387,7 +387,7 @@ static int do_mtd_erase(cmd_tbl_t *cmdtp, int flag, int argc, struct mtd_info *mtd; u64 off, len; bool scrub; - int ret; + int ret = 0; if (argc < 2) return CMD_RET_USAGE; @@ -423,22 +423,22 @@ static int do_mtd_erase(cmd_tbl_t *cmdtp, int flag, int argc, erase_op.mtd = mtd; erase_op.addr = off; - erase_op.len = len; + erase_op.len = mtd->erasesize; erase_op.scrub = scrub; - while (erase_op.len) { + while (len) { ret = mtd_erase(mtd, &erase_op); - /* Abort if its not a bad block error */ - if (ret != -EIO) - break; - - printf("Skipping bad block at 0x%08llx\n", erase_op.fail_addr); + if (ret) { + /* Abort if its not a bad block error */ + if (ret != -EIO) + break; + printf("Skipping bad block at 0x%08llx\n", + erase_op.addr); + } - /* Skip bad block and continue behind it */ - erase_op.len -= erase_op.fail_addr - erase_op.addr; - erase_op.len -= mtd->erasesize; - erase_op.addr = erase_op.fail_addr + mtd->erasesize; + len -= mtd->erasesize; + erase_op.addr += mtd->erasesize; } if (ret && ret != -EIO) |
