From: Bin Meng Date: Fri, 30 Jul 2021 07:20:16 +0000 (+0800) Subject: mtd: spi-nor: Respect flash's hwcaps in spi_nor_adjust_hwcaps() X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=87e7219f9c6a30709ddf97b602983386f1b4cccf;p=u-boot.git mtd: spi-nor: Respect flash's hwcaps in spi_nor_adjust_hwcaps() The smart spi_nor_adjust_hwcaps() does not respect the SPI flash's hwcaps, and only looks to the controller on what can be supported. The flash's hwcaps needs to be AND'ed before checking. Fixes: 71025f013ccb ("mtd: spi-nor-core: Rework hwcaps selection") Signed-off-by: Bin Meng Reviewed-by: Pratyush Yadav Reviewed-by: Jagan Teki --- diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c index 99e2f16349..c8c3bdd890 100644 --- a/drivers/mtd/spi/spi-nor-core.c +++ b/drivers/mtd/spi/spi-nor-core.c @@ -2858,10 +2858,11 @@ spi_nor_adjust_hwcaps(struct spi_nor *nor, unsigned int cap; /* - * Enable all caps by default. We will mask them after checking what's - * really supported using spi_mem_supports_op(). + * Start by assuming the controller supports every capability. + * We will mask them after checking what's really supported + * using spi_mem_supports_op(). */ - *hwcaps = SNOR_HWCAPS_ALL; + *hwcaps = SNOR_HWCAPS_ALL & params->hwcaps.mask; /* X-X-X modes are not supported yet, mask them all. */ *hwcaps &= ~SNOR_HWCAPS_X_X_X;