aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/raw/nand_base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/nand/raw/nand_base.c')
-rw-r--r--drivers/mtd/nand/raw/nand_base.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index 837ea698af08..4099d8a1e25e 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -2816,6 +2816,16 @@ int nand_reset(struct nand_chip *chip, int chipnr)
2816 if (ret) 2816 if (ret)
2817 return ret; 2817 return ret;
2818 2818
2819 /*
2820 * A nand_reset_data_interface() put both the NAND chip and the NAND
2821 * controller in timings mode 0. If the default mode for this chip is
2822 * also 0, no need to proceed to the change again. Plus, at probe time,
2823 * nand_setup_data_interface() uses ->set/get_features() which would
2824 * fail anyway as the parameter page is not available yet.
2825 */
2826 if (!chip->onfi_timing_mode_default)
2827 return 0;
2828
2819 chip->data_interface = saved_data_intf; 2829 chip->data_interface = saved_data_intf;
2820 ret = nand_setup_data_interface(chip, chipnr); 2830 ret = nand_setup_data_interface(chip, chipnr);
2821 if (ret) 2831 if (ret)