diff options
Diffstat (limited to 'firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c')
-rw-r--r-- | firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c index 302ffdee21..795e489258 100644 --- a/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c +++ b/firmware/target/arm/s5l8700/ipodnano2g/nand-nano2g.c | |||
@@ -312,6 +312,7 @@ uint32_t nand_read_page(uint32_t bank, uint32_t page, void* databuffer, | |||
312 | if (databuffer != 0) | 312 | if (databuffer != 0) |
313 | if (nand_transfer_data(bank, 0, nand_uncached_data, 0x800) != 0) | 313 | if (nand_transfer_data(bank, 0, nand_uncached_data, 0x800) != 0) |
314 | return nand_unlock(1); | 314 | return nand_unlock(1); |
315 | rc = 0; | ||
315 | if (doecc == 0) | 316 | if (doecc == 0) |
316 | { | 317 | { |
317 | memcpy(databuffer, nand_uncached_data, 0x800); | 318 | memcpy(databuffer, nand_uncached_data, 0x800); |
@@ -321,11 +322,10 @@ uint32_t nand_read_page(uint32_t bank, uint32_t page, void* databuffer, | |||
321 | return nand_unlock(1); | 322 | return nand_unlock(1); |
322 | memcpy(sparebuffer, nand_uncached_spare, 0x800); | 323 | memcpy(sparebuffer, nand_uncached_spare, 0x800); |
323 | if (checkempty != 0) | 324 | if (checkempty != 0) |
324 | return nand_check_empty((uint8_t*)sparebuffer) << 1; | 325 | rc = nand_check_empty((uint8_t*)sparebuffer) << 1; |
325 | } | 326 | } |
326 | return nand_unlock(0); | 327 | return nand_unlock(rc); |
327 | } | 328 | } |
328 | rc = 0; | ||
329 | if (nand_transfer_data(bank, 0, nand_uncached_spare, 0x40) != 0) | 329 | if (nand_transfer_data(bank, 0, nand_uncached_spare, 0x40) != 0) |
330 | return nand_unlock(1); | 330 | return nand_unlock(1); |
331 | memcpy(nand_uncached_ecc, &nand_uncached_spare[0xC], 0x28); | 331 | memcpy(nand_uncached_ecc, &nand_uncached_spare[0xC], 0x28); |
@@ -377,7 +377,7 @@ uint32_t nand_write_page(uint32_t bank, uint32_t page, void* databuffer, | |||
377 | if (nand_transfer_data(bank, 1, nand_uncached_spare, 0x40) != 0) | 377 | if (nand_transfer_data(bank, 1, nand_uncached_spare, 0x40) != 0) |
378 | return nand_unlock(1); | 378 | return nand_unlock(1); |
379 | if (nand_send_cmd(NAND_CMD_PROGCNFRM) != 0) return nand_unlock(1); | 379 | if (nand_send_cmd(NAND_CMD_PROGCNFRM) != 0) return nand_unlock(1); |
380 | return nand_wait_status_ready(bank); | 380 | return nand_unlock(nand_wait_status_ready(bank)); |
381 | } | 381 | } |
382 | 382 | ||
383 | uint32_t nand_block_erase(uint32_t bank, uint32_t page) | 383 | uint32_t nand_block_erase(uint32_t bank, uint32_t page) |