diff options
| author | Tilman Sauerbeck <tilman@code-monkey.de> | 2010-08-20 17:01:47 -0400 |
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-08-20 17:26:20 -0400 |
| commit | cfe3fdadb16162327773ef01a575a32000b8c7f4 (patch) | |
| tree | e93dd6e4a80c1cdb23f9a2b562d4cb2bfb955f37 | |
| parent | 065a1ed8de85583888b3d4f22c64b534a1fbdaaa (diff) | |
mtd: nand: Fix probe of Samsung NAND chips
Apparently, the check for a 6-byte ID string introduced by commit
426c457a3216fac74e3d44dd39729b0689f4c7ab ("mtd: nand: extend NAND flash
detection to new MLC chips") 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 <tilman@code-monkey.de>
Signed-off-by: Brian Norris <norris@broadcom.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Cc: stable@kernel.org
| -rw-r--r-- | 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 a22ed7b281ce..d551ddd9537a 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, | |||
| 2866 | */ | 2866 | */ |
| 2867 | if (id_data[0] == id_data[6] && id_data[1] == id_data[7] && | 2867 | if (id_data[0] == id_data[6] && id_data[1] == id_data[7] && |
| 2868 | id_data[0] == NAND_MFR_SAMSUNG && | 2868 | id_data[0] == NAND_MFR_SAMSUNG && |
| 2869 | (chip->cellinfo & NAND_CI_CELLTYPE_MSK) && | ||
| 2869 | id_data[5] != 0x00) { | 2870 | id_data[5] != 0x00) { |
| 2870 | /* Calc pagesize */ | 2871 | /* Calc pagesize */ |
| 2871 | mtd->writesize = 2048 << (extid & 0x03); | 2872 | mtd->writesize = 2048 << (extid & 0x03); |
