On Mon, 25 May 2020 19:42:27 +0200 Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > Avoid relying just on the default timing mode to discriminate if the > data interface must be restored. Do a memcmp() instead. Maybe you should explain why you do that. > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > --- > drivers/mtd/nand/raw/nand_base.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c > index 14f1359a60b8..7567c973964b 100644 > --- a/drivers/mtd/nand/raw/nand_base.c > +++ b/drivers/mtd/nand/raw/nand_base.c > @@ -2512,7 +2512,8 @@ int nand_reset(struct nand_chip *chip, int chipnr) > * 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) > + if (!memcmp(&chip->data_interface, &saved_data_intf, > + sizeof(saved_data_intf))) > return 0; > > chip->data_interface = saved_data_intf; We should probably have the data_interface object allocated at some point, and play with pointers instead of copying the data around. That's possible now that you've patched all drivers to use nand_scan() and control the cleanup path. ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/