]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
mtd: spi-nor: core: Ignore -ENOTSUPP in spi_nor_init()
authorMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 23 Sep 2022 09:34:41 +0000 (12:34 +0300)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 18 Oct 2022 08:11:35 +0000 (10:11 +0200)
The Intel SPI-NOR controller does not support the 4-byte address opcode
so ->set_4byte_addr_mode() ends up returning -ENOTSUPP and the SPI flash
chip probe fail like this:

  [ 12.291082] spi-nor: probe of spi0.0 failed with error -524

Whereas previously before commit 08412e72afba ("mtd: spi-nor: core:
Return error code from set_4byte_addr_mode()") it worked just fine.

Fix this by ignoring -ENOTSUPP in spi_nor_init().

Fixes: 08412e72afba ("mtd: spi-nor: core: Return error code from set_4byte_addr_mode()")
Cc: stable@vger.kernel.org
Reported-by: Hongyu Ning <hongyu.ning@intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Acked-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220923093441.3178-1-mika.westerberg@linux.intel.com
drivers/mtd/spi-nor/core.c

index f2c64006f8d75cad917fc2464936b760d1f0d79d..bee8fc4c9f0785feaa5b3882671f5b93a6e3aa57 100644 (file)
@@ -2724,7 +2724,9 @@ static int spi_nor_init(struct spi_nor *nor)
                 */
                WARN_ONCE(nor->flags & SNOR_F_BROKEN_RESET,
                          "enabling reset hack; may not recover from unexpected reboots\n");
-               return nor->params->set_4byte_addr_mode(nor, true);
+               err = nor->params->set_4byte_addr_mode(nor, true);
+               if (err && err != -ENOTSUPP)
+                       return err;
        }
 
        return 0;