From patchwork Fri Aug 20 21:01:47 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Bad assumption about ID field definition for Samsung NAND? X-Patchwork-Submitter: Brian Norris X-Patchwork-Id: 62319 Message-Id: <4C6EED3B.4000001@broadcom.com> To: "David Woodhouse" Cc: "r64343@freescale.com" , Kevin Cernekee , Tilman Sauerbeck , "linux-mtd@lists.infradead.org" Date: Fri, 20 Aug 2010 14:01:47 -0700 From: "Brian Norris" List-Id: Linux MTD discussion mailing list > Can I have a signed-off-by for it? I don't know what's "legal" here. I'm appending the patch with a sign-off for me and Tilman (since Tilman authored it). Hopefully that's ok. > Brian, I have a distinct impression that there's at least one more patch > from you that I really ought to be sending to Linus for 2.6.36, but I > can't find it right now. Other than this and what's already in > mtd-2.6.git, is there anything else? I'm really no expert on how inclusion for different versions goes; I just send 'em to you! Anyway, this patch is *very* important: * [PATCH] mtd: nand: Fix regression in BBM detection http://lists.infradead.org/pipermail/linux-mtd/2010-August/031594.html It addresses issues I overlooked with a lot of Hynix small-page NAND (and others). Other patches - they are ready, but not as important: * Spansion ORNAND http://lists.infradead.org/pipermail/linux-mtd/2010-August/031603.html * New Samsung MLC OOB sizes http://lists.infradead.org/pipermail/linux-mtd/2010-August/031621.html No one has decided between these two (it's a "choose one or the other" situation). They may or may not be ready: mtd: nand: Expand nand_ecc_layout, deprecate ioctl ECCGETLAYOUT Cover page: http://lists.infradead.org/pipermail/linux-mtd/2010-August/031591.html Choice 1: http://lists.infradead.org/pipermail/linux-mtd/2010-August/031593.html Choice 2: http://lists.infradead.org/pipermail/linux-mtd/2010-August/031598.html Explanation: http://lists.infradead.org/pipermail/linux-mtd/2010-August/031619.html And since you asked, the trivial... Indentation errors :) http://lists.infradead.org/pipermail/linux-mtd/2010-August/031588.html You already got this one, I believe: Fixing a typo in on a buswidth option http://lists.infradead.org/pipermail/linux-mtd/2010-August/031518.html Thanks for looking out for me :) Brian ---------------------------------------------------------------- Apparently, the check for a 6-byte ID string is NOT sufficient to determine whether or not a Samsung chip uses their new MLC detection scheme or the old, standard scheme. This adds a condition to check cell type. Signed-off-by: Tilman Sauerbeck Signed-off-by: Brian Norris --- drivers/mtd/nand/nand_base.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index a3c7473..172a299 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -2866,6 +2866,7 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd, */ if (id_data[0] == id_data[6] && id_data[1] == id_data[7] && id_data[0] == NAND_MFR_SAMSUNG && + (chip->cellinfo & NAND_CI_CELLTYPE_MSK) && id_data[5] != 0x00) { /* Calc pagesize */ mtd->writesize = 2048 << (extid & 0x03);