Bad assumption about ID field definition for Samsung NAND?
David Woodhouse
dwmw2 at infradead.org
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.
--
dwmw2
More information about the linux-mtd
mailing list