[PATCH] mtd: spi-nor: intel-spi: Simulate WRDI command

Tudor.Ambarus at microchip.com Tudor.Ambarus at microchip.com
Wed Jul 22 10:28:30 EDT 2020


+ Mika

Hi, Mika,

Would you please review the patch from below?

Thanks!

On 7/22/20 5:01 PM, Alexander Sverdlin wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> From: Alexander Sverdlin <alexander.sverdlin at nokia.com>
> 
> After spi_nor_write_disable() return code checks were introduced in the
> spi-nor front end intel-spi backend stopped to work because WRDI was never
> supported and always failed.
> 
> Just pretend it was sucessful and ignore the command itself. HW sequencer
> shall do the right thing automatically, while with SW sequencer we cannot
> do it anyway, because the only tool we had was preopcode and it makes no
> sense for WRDI.
> 
> Cc: stable at vger.kernel.org
> Fixes: bce679e5ae3a ("mtd: spi-nor: Check for errors after each Register Operation")
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin at nokia.com>
> ---
>  drivers/mtd/spi-nor/controllers/intel-spi.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/mtd/spi-nor/controllers/intel-spi.c b/drivers/mtd/spi-nor/controllers/intel-spi.c
> index 61d2a0a..134b356 100644
> --- a/drivers/mtd/spi-nor/controllers/intel-spi.c
> +++ b/drivers/mtd/spi-nor/controllers/intel-spi.c
> @@ -612,6 +612,14 @@ static int intel_spi_write_reg(struct spi_nor *nor, u8 opcode, const u8 *buf,
>                 return 0;
>         }
> 
> +       /*
> +        * We hope that HW sequencer will do the right thing automatically and
> +        * with the SW seuencer we cannot use preopcode any way, so just ignore
> +        * write disable operation and pretend it was completed successfully.
> +        */
> +       if (opcode == SPINOR_OP_WRDI)
> +               return 0;
> +
>         writel(0, ispi->base + FADDR);
> 
>         /* Write the value beforehand */
> --
> 2.10.2
> 



More information about the linux-mtd mailing list