3 @@ static int sst_nor_write(struct mtd_info *mtd, loff_t to, size_t len, if (ret) goto out; + ret = spi_nor_write_enable(nor); + if (ret) + goto out; + ret = spi_nor_wait_till_ready(nor); + if (ret) + goto out; + to++; actual++; } diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c index 1b0c6770c14e4..646bfb2e91a65 100644 --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c @@ -276,7 +276,7 @@ static ssize_t spi_nor_spimem_write_data(struct spi_nor *nor, loff_t to, if (spi_nor_spimem_bounce(nor, &op)) memcpy(nor->bouncebuf, buf, op.data.nbytes); - if (nor->dirmap.wdesc) { + if (nor->dirmap.wdesc && nor->program_opcode != SPINOR_OP_AAI_WP) { nbytes = spi_mem_dirmap_write(nor->dirmap.wdesc, op.addr.val, op.data.nbytes, op.data.buf.out); } else { I think patch 2 of this series is the better approach though. Regards, Hendrik[PATCH v2 1/2] mtd: spi-nor: sst: Fix write enable before AAI sequenceHendrik Donner undefinedMichael Walle , Sanjaikumar V S undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined\