Signed-off-by: Eric Bénard <eric@xxxxxxxxxx> --- drivers/mtd/nand/nand_base.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index e8103cf..d04e24b 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -1167,10 +1167,9 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd, chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1); - /* Read manufacturer and device IDs */ - - id_data[0] = chip->read_byte(mtd); - id_data[1] = chip->read_byte(mtd); + /* Read entire ID string */ + for (i = 0; i < 8; i++) + id_data[i] = chip->read_byte(mtd); if (id_data[0] != *maf_id || id_data[1] != dev_id) { pr_err("%s: second ID read did not match " @@ -1190,20 +1189,11 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd, if (!type->name || !type->pagesize) { /* Check is chip is ONFI compliant */ ret = nand_flash_detect_onfi(mtd, chip, &busw); - if (ret) goto ident_done; - else { - pr_err("NAND type unknown: %02x,%02x\n", *maf_id, dev_id); - return ERR_PTR(-ENODEV); - } } - chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1); - - /* Read entire ID string */ - - for (i = 0; i < 8; i++) - id_data[i] = chip->read_byte(mtd); + if (!type->name) + return ERR_PTR(-ENODEV); if (!mtd->name) mtd->name = type->name; -- 1.8.1.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox