diff options
Diffstat (limited to 'drivers/mtd/nand')
| -rw-r--r-- | drivers/mtd/nand/raw/nand_base.c | 10 |
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) |
