diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c index 58aba52022bf..42b51d3efb46 100644 --- a/drivers/mtd/spi-nor/winbond.c +++ b/drivers/mtd/spi-nor/winbond.c @@ -226,9 +226,19 @@ static void winbond_nor_late_init(struct spi_nor *nor) nor->params->otp.ops = &winbond_nor_otp_ops; } +static void winbond_nor_post_sfdp(struct spi_nor *nor) +{ + /* + * All winbond flash support 35H command, but some flash do + * not accurately feedback information after SDFP param parsing. + */ + nor->flags &= ~SNOR_F_NO_READ_CR; +} + static const struct spi_nor_fixups winbond_nor_fixups = { .default_init = winbond_nor_default_init, .late_init = winbond_nor_late_init, + .post_sfdp = winbond_nor_post_sfdp, }; const struct spi_nor_manufacturer spi_nor_winbond = {