forked from Minki/linux
[MTD] [NAND] Wrong calculation of page number in nand_block_bad()
In case that there is no memory based bad block table available the function nand_block_checkbad() in drivers/mtd/nand/nand_base.c will call nand_block_bad() directly. When parameter 'getchip' is set to zero, nand_block_bad() will not right shift the offset to calculate the correct page number. Signed-off-by: Thomas Knobloch <knobloch@siemens.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This commit is contained in:
parent
ef2e58ea6b
commit
78ab67da10
@ -312,7 +312,7 @@ static int nand_block_bad(struct mtd_info *mtd, loff_t ofs, int getchip)
|
||||
/* Select the NAND device */
|
||||
chip->select_chip(mtd, chipnr);
|
||||
} else
|
||||
page = (int)ofs;
|
||||
page = (int)(ofs >> chip->page_shift);
|
||||
|
||||
if (chip->options & NAND_BUSWIDTH_16) {
|
||||
chip->cmdfunc(mtd, NAND_CMD_READOOB, chip->badblockpos & 0xFE,
|
||||
|
Loading…
Reference in New Issue
Block a user