Re: [PATCH] mtd: fix the wrong check condition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Hi,
(Add Florian and Matthieu)

On 2/15/2012 2:33 AM, Huang Shijie wrote:
If we use `||` check condition, many NAND chips which are not
ONFI nands have to do the ONFI detection.

Running the ONFI detection on non-ONFI NAND should not, ideally, be a
problem. They should fail one or both tests included in the routine:
the 'O N F I' string check or the CRC calculation.
NO.

I have Hynix nand in my hand: H27UBG8T2A (page size :8192, oob:448).
It is not an ONFI nand.


But it accidentally can pass the ONFI detection, and get the result : page size 4192, oob:96. This is a wrong result.





Use `&&` here to detect the ONFI NAND when we can not find any type
in the nand_flash_ids.

There are many chips whose ID might be in the NAND table but for which
it is preferable (or even required) to check by ONFI for one reason or
another. For instance, some ONFI chips might use odd-sized OOB that
isn't in the ID decoding algorithm.

This nand is 32Gb, but we can not parse it out from the id.
I ever want to add a new database which use the all the 8/6 bytes id as key.
It seems it's time to change it now.

Huang Shijie

The current `||` check is, I think, designed to weed out old
small-page NAND only, which define both 'name' and 'pagesize' in the
table.

So in short: the current code works as intended.

Brian





_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


[Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [PDAs]     [Linux]     [Linux MIPS]     [Yosemite Campsites]     [Photos]

Add to Google Follow linuxarm on Twitter