diff options
author | Koen Kooi <koen@openembedded.org> | 2007-06-13 10:30:07 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2007-06-13 10:30:07 +0000 |
commit | 17e73f44c043e98722fb0220457cbc845b95fc37 (patch) | |
tree | 05ac66bc8f4b852b8ff697d4f401b3b747ca6f7d /packages/uboot/u-boot-mkimage-gta01-native/nand-badisbad.patch | |
parent | 21b6863a4b2d6ed5bd11949de415b817057303e6 (diff) |
u-boot-mkimage-gta01-native: add a static git tag and put patches in OE to stop breakage
Diffstat (limited to 'packages/uboot/u-boot-mkimage-gta01-native/nand-badisbad.patch')
-rw-r--r-- | packages/uboot/u-boot-mkimage-gta01-native/nand-badisbad.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/uboot/u-boot-mkimage-gta01-native/nand-badisbad.patch b/packages/uboot/u-boot-mkimage-gta01-native/nand-badisbad.patch new file mode 100644 index 0000000000..a5800e2499 --- /dev/null +++ b/packages/uboot/u-boot-mkimage-gta01-native/nand-badisbad.patch @@ -0,0 +1,30 @@ +This patch makes nand_block_checkbad check both the BBT and the actual +OOB data. This avoids accidently passing blocks as good when BBT and +OOB markers are not synchronized, e.g., before "nand createbbt". + +Experimental. + +- Werner Almesberger <werner@openmoko.org> + +Index: u-boot/drivers/nand/nand_base.c +=================================================================== +--- u-boot.orig/drivers/nand/nand_base.c ++++ u-boot/drivers/nand/nand_base.c +@@ -517,11 +517,14 @@ static int nand_block_checkbad (struct m + { + struct nand_chip *this = mtd->priv; + +- if (!this->bbt) +- return this->block_bad(mtd, ofs, getchip); ++ if (this->block_bad(mtd, ofs, getchip)) ++ return 1; + + /* Return info from the table */ +- return nand_isbad_bbt (mtd, ofs, allowbbt); ++ if (this->bbt && nand_isbad_bbt (mtd, ofs, allowbbt)) ++ return 1; ++ ++ return 0; + } + + /** |