Commit:     78ab67da1002d954ea4c3e2b441e2483c41f94e8
Parent:     ef2e58ea6b9931c3a4816c66593da49bb20e3b24
Author:     Knobloch, Thomas <[EMAIL PROTECTED]>
AuthorDate: Fri Apr 27 13:19:36 2007 +0200
Committer:  David Woodhouse <[EMAIL PROTECTED]>
CommitDate: Fri Apr 27 15:13:53 2007 +0100

    [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 <[EMAIL PROTECTED]>
    Signed-off-by: David Woodhouse <[EMAIL PROTECTED]>
 drivers/mtd/nand/nand_base.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index ab3b2d1..04de315 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -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,
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to