diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/s5l8700/ipodnano2g/ftl-nano2g.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/ftl-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/ftl-nano2g.c index 0cc7841cd5..e85830d642 100644 --- a/firmware/target/arm/s5l8700/ipodnano2g/ftl-nano2g.c +++ b/firmware/target/arm/s5l8700/ipodnano2g/ftl-nano2g.c | |||
@@ -547,7 +547,7 @@ uint32_t ftl_vfl_store_cxt(uint32_t bank) | |||
547 | nand_write_page(bank, page, &ftl_vfl_cxt[bank], &ftl_sparebuffer, 1); | 547 | nand_write_page(bank, page, &ftl_vfl_cxt[bank], &ftl_sparebuffer, 1); |
548 | } | 548 | } |
549 | uint32_t good = 0; | 549 | uint32_t good = 0; |
550 | for (i = 0; i < 8; i++) | 550 | for (i = 1; i <= 8; i++) |
551 | { | 551 | { |
552 | uint32_t index = ftl_vfl_cxt[bank].activecxtblock; | 552 | uint32_t index = ftl_vfl_cxt[bank].activecxtblock; |
553 | uint32_t block = ftl_vfl_cxt[bank].vflcxtblocks[index]; | 553 | uint32_t block = ftl_vfl_cxt[bank].vflcxtblocks[index]; |
@@ -1553,6 +1553,7 @@ struct ftl_log_type* ftl_allocate_log_entry(uint32_t block) | |||
1553 | { | 1553 | { |
1554 | uint32_t i; | 1554 | uint32_t i; |
1555 | struct ftl_log_type* entry = ftl_get_log_entry(block); | 1555 | struct ftl_log_type* entry = ftl_get_log_entry(block); |
1556 | (*entry).usn = ftl_cxt.nextblockusn - 1; | ||
1556 | if (entry != (struct ftl_log_type*)0) return entry; | 1557 | if (entry != (struct ftl_log_type*)0) return entry; |
1557 | 1558 | ||
1558 | for (i = 0; i < 0x11; i++) | 1559 | for (i = 0; i < 0x11; i++) |
@@ -1778,6 +1779,7 @@ uint32_t ftl_write(uint32_t sector, uint32_t count, const void* buffer) | |||
1778 | i++; | 1779 | i++; |
1779 | } | 1780 | } |
1780 | } | 1781 | } |
1782 | if ((*logentry).pagesused == ppb) ftl_remove_scattered_block(logentry); | ||
1781 | } | 1783 | } |
1782 | if (ftl_cxt.swapcounter >= 300) | 1784 | if (ftl_cxt.swapcounter >= 300) |
1783 | { | 1785 | { |