Bad assumption about ID field definition for Samsung NAND?

David Woodhouse dwmw2 at
Fri Aug 20 15:53:28 EDT 2010

On Fri, 2010-08-20 at 10:42 -0700, Brian Norris wrote:
> On 08/20/2010 06:43 AM, Tilman Sauerbeck wrote:
> > Okay, how do we proceed? Should I send a proper patch with the diff
> > above? Or does anyone want to try and come up with a better fix...?
> I vote for Tilman's patch. There's nothing unnecessarily ugly about it; 
> it simply checks cell-type in order to decide whether we use Samsung's 
> new "standard" for MLC or fall-back to the real standard. If anything, 
> the existing code (checking ID length) is ugly. However, both checks 
> seem necessary.

That's for 2.6.36 and -stable (for 2.6.35), yes?

@@ -2852,6 +2852,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);

Can I have a signed-off-by for it?

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?

Thanks, btw.


More information about the linux-mtd mailing list