Skip to content

Commit 36a6598

Browse files
hcodinamiquelraynal
authored andcommitted
mtd: rawnand: Fix nand_choose_best_timings() on unsupported interface
When the NV-DDR interface is not supported by the NAND chip, the value of onfi->nvddr_timing_modes is 0. In this case, the best_mode variable value in nand_choose_best_nvddr_timings() is -1. The last for-loop is skipped and the function returns an uninitialized value. If this returned value is 0, the nand_choose_best_sdr_timings() is not executed and no 'best timing' are set. This leads the host controller and the NAND chip working at default mode 0 timing even if a better timing can be used. Fix this uninitialized returned value. nand_choose_best_sdr_timings() is pretty similar to nand_choose_best_nvddr_timings(). Even if onfi->sdr_timing_modes should never be seen as 0, nand_choose_best_sdr_timings() returned value is fixed. Fixes: a9ecc8c ("mtd: rawnand: Choose the best timings, NV-DDR included") Signed-off-by: Herve Codina <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
1 parent 16d8b62 commit 36a6598

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/mtd/nand/raw/nand_base.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -926,7 +926,7 @@ int nand_choose_best_sdr_timings(struct nand_chip *chip,
926926
struct nand_sdr_timings *spec_timings)
927927
{
928928
const struct nand_controller_ops *ops = chip->controller->ops;
929-
int best_mode = 0, mode, ret;
929+
int best_mode = 0, mode, ret = -EOPNOTSUPP;
930930

931931
iface->type = NAND_SDR_IFACE;
932932

@@ -977,7 +977,7 @@ int nand_choose_best_nvddr_timings(struct nand_chip *chip,
977977
struct nand_nvddr_timings *spec_timings)
978978
{
979979
const struct nand_controller_ops *ops = chip->controller->ops;
980-
int best_mode = 0, mode, ret;
980+
int best_mode = 0, mode, ret = -EOPNOTSUPP;
981981

982982
iface->type = NAND_NVDDR_IFACE;
983983

0 commit comments

Comments
 (0)