FIX: Stop ECC migration if all remaining blocks are bad
BugzId: 50923
This commit is contained in:
parent
59e67cc3b3
commit
1d711760a1
|
|
@ -777,6 +777,7 @@ static int migrate_backup(int n, int forward_migration)
|
|||
bend = baddr + infoMigration.backup.size;
|
||||
while (taddr < tend) {
|
||||
size = size_nand(taddr, tend);
|
||||
if (size == 0) break;
|
||||
if (size > infoMigration.size) size = infoMigration.size;
|
||||
rlen = read_nand(&taddr, tend, infoMigration.buffer, size, forward_migration ? 0 : 1);
|
||||
if (rlen < 0) {
|
||||
|
|
@ -822,6 +823,7 @@ static int migrate_restore(int n, int forward_migration)
|
|||
bend = baddr + infoMigration.backup.size;
|
||||
while (taddr < tend) {
|
||||
size = size_nand(taddr, tend);
|
||||
if (size == 0) break;
|
||||
if (size > infoMigration.size) size = infoMigration.size;
|
||||
rlen = read_nand(&baddr, bend, infoMigration.buffer, size, 1);
|
||||
if (rlen < 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue