|
@@ -3813,10 +3813,13 @@ static void nand_manufacturer_detect(struct nand_chip *chip)
|
|
|
* nand_decode_ext_id() otherwise.
|
|
|
*/
|
|
|
if (chip->manufacturer.desc && chip->manufacturer.desc->ops &&
|
|
|
- chip->manufacturer.desc->ops->detect)
|
|
|
+ chip->manufacturer.desc->ops->detect) {
|
|
|
+ /* The 3rd id byte holds MLC / multichip data */
|
|
|
+ chip->bits_per_cell = nand_get_bits_per_cell(chip->id.data[2]);
|
|
|
chip->manufacturer.desc->ops->detect(chip);
|
|
|
- else
|
|
|
+ } else {
|
|
|
nand_decode_ext_id(chip);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|