|
@@ -2816,6 +2816,16 @@ int nand_reset(struct nand_chip *chip, int chipnr)
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
+ /*
|
|
|
+ * A nand_reset_data_interface() put both the NAND chip and the NAND
|
|
|
+ * controller in timings mode 0. If the default mode for this chip is
|
|
|
+ * also 0, no need to proceed to the change again. Plus, at probe time,
|
|
|
+ * nand_setup_data_interface() uses ->set/get_features() which would
|
|
|
+ * fail anyway as the parameter page is not available yet.
|
|
|
+ */
|
|
|
+ if (!chip->onfi_timing_mode_default)
|
|
|
+ return 0;
|
|
|
+
|
|
|
chip->data_interface = saved_data_intf;
|
|
|
ret = nand_setup_data_interface(chip, chipnr);
|
|
|
if (ret)
|