--- zzzz-none-000/linux-2.6.32.61/drivers/mtd/nand/plat_nand.c 2013-06-10 09:43:48.000000000 +0000 +++ virian-300e-630/linux-2.6.32.61/drivers/mtd/nand/plat_nand.c 2011-07-20 07:23:51.000000000 +0000 @@ -80,7 +80,18 @@ } /* Scan to find existance of the device */ - if (nand_scan(&data->mtd, 1)) { + if (nand_scan_ident(&data->mtd, 1)) { + res = -ENXIO; + goto out; + } + + if (pdata->chip.chip_fixup) { + res = pdata->chip.chip_fixup(&data->mtd); + if (res) + goto out; + } + + if (nand_scan_tail(&data->mtd)) { res = -ENXIO; goto out; }