aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaly Wool <vwool@ru.mvista.com>2005-11-02 16:54:46 +0000
committerThomas Gleixner <tglx@mtd.linutronix.de>2005-11-07 02:15:21 +0100
commit49196f3332e661ccc221734c3103115d8cd4ee49 (patch)
treea3bc3c5304dbf6945479821a124dc5ba03475fe3
parent46d0d0fb61ec6630dc2c844e3c5bf5ef44dedcbe (diff)
[MTD] NAND nand_base: Fix shift for bad block check (16bit devices only)
In case of an odd offset, the result was shifted by 1 instead of 8 Signed-off-by: Vitaly Wool <vwool@ru.mvista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--drivers/mtd/nand/nand_base.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 4e22317397e..c7b1ce38c63 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -433,7 +433,7 @@ static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip)
this->cmdfunc (mtd, NAND_CMD_READOOB, this->badblockpos & 0xFE, page & this->pagemask);
bad = cpu_to_le16(this->read_word(mtd));
if (this->badblockpos & 0x1)
- bad >>= 1;
+ bad >>= 8;
if ((bad & 0xFF) != 0xff)
res = 1;
} else {