mtd: rawnand: Compare the actual timing values
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 29 May 2020 11:13:01 +0000 (13:13 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 26 Jun 2020 06:35:05 +0000 (08:35 +0200)
Avoid relying just on the default timing mode to discriminate if the
data interface must be restored. This field should only be used
at initialization time by legacy chips statically defined. Do a
memcmp() instead.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/linux-mtd/20200529111322.7184-8-miquel.raynal@bootlin.com
drivers/mtd/nand/raw/nand_base.c

index 534ee75d0f2bd5b97934e67faa54d0d5a3f3b14b..3526c2a50bbedc43bbbcbe2d95c6d1b5dea2c398 100644 (file)
@@ -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;