Mercurial > nand-ecoscentric
changeset 2991:1368d5ff0323
nand_bbt.c: Fix logic error on initial scan (introduced 2009-11-09)
| author | Ross Younger <wry@ecoscentric.com> |
|---|---|
| date | Fri, 13 Nov 2009 17:23:51 +0000 |
| parents | 436d18a77629 |
| children | d0daa15943a5 |
| files | packages/io/nand/current/ChangeLog packages/io/nand/current/src/nand_bbt.c |
| diffstat | 2 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/io/nand/current/ChangeLog +++ b/packages/io/nand/current/ChangeLog @@ -4,6 +4,7 @@ 2009-11-13 Ross Younger <wry@eCosCentr * nand_device.h nand.c: Further refine CYGSEM_IO_NAND_USE_BBT, drop the relevant parts of the struct when not enabled. * utils/erase_bbt_dangerous.c: Build fix for non-default config + * nand_bbt.c: Fix logic error on initial scan 2009-11-12 Ross Younger <wry@eCosCentric.com>
--- a/packages/io/nand/current/src/nand_bbt.c +++ b/packages/io/nand/current/src/nand_bbt.c @@ -552,10 +552,6 @@ int cyg_nand_bbti_build_tables(cyg_nand_ * write_tables() takes care of choosing where. */ - if (dev->bbt.primary != 0xFFFFFFFF) - bbti_mark_raw(dev, dev->bbt.primary, CYG_NAND_BBT_RESERVED); - if (dev->bbt.mirror != 0xFFFFFFFF) - bbti_mark_raw(dev, dev->bbt.mirror, CYG_NAND_BBT_RESERVED); dev->bbt.version = 0; /* write_tables() will bump to 1, which is correct */ int rv = cyg_nand_bbti_write_tables(dev, 1); @@ -564,6 +560,11 @@ int cyg_nand_bbti_build_tables(cyg_nand_ else NAND_CHATTER(3,dev, "Chosen BBT locations: primary %u, mirror %u\n", dev->bbt.primary, dev->bbt.mirror); + if (dev->bbt.primary != 0xFFFFFFFF) + bbti_mark_raw(dev, dev->bbt.primary, CYG_NAND_BBT_RESERVED); + if (dev->bbt.mirror != 0xFFFFFFFF) + bbti_mark_raw(dev, dev->bbt.mirror, CYG_NAND_BBT_RESERVED); + return rv; #endif }
