|
@@ -2857,8 +2857,11 @@ static int nand_flash_detect_onfi(struct mtd_info *mtd, struct nand_chip *chip,
|
|
|
int i;
|
|
|
int val;
|
|
|
|
|
|
- /* ONFI need to be probed in 8 bits mode */
|
|
|
- WARN_ON(chip->options & NAND_BUSWIDTH_16);
|
|
|
+ /* ONFI need to be probed in 8 bits mode, and 16 bits should be selected with NAND_BUSWIDTH_AUTO */
|
|
|
+ if (chip->options & NAND_BUSWIDTH_16) {
|
|
|
+ pr_err("Trying ONFI probe in 16 bits mode, aborting !\n");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
/* Try ONFI for unknown chip or LP */
|
|
|
chip->cmdfunc(mtd, NAND_CMD_READID, 0x20, -1);
|
|
|
if (chip->read_byte(mtd) != 'O' || chip->read_byte(mtd) != 'N' ||
|