2018-08-18 09:40:39

by Liu Xiang

[permalink] [raw]
Subject: [PATCH] mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB

If the size of spi-nor flash is larger than 16MB, the read_opcode
is set to SPINOR_OP_READ_1_1_4_4B, and fsl_qspi_get_seqid() will
return -EINVAL when cmd is SPINOR_OP_READ_1_1_4_4B. This can
cause read operation fail.

Signed-off-by: Liu Xiang <[email protected]>
---
drivers/mtd/spi-nor/fsl-quadspi.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
index 7d9620c..64304a3 100644
--- a/drivers/mtd/spi-nor/fsl-quadspi.c
+++ b/drivers/mtd/spi-nor/fsl-quadspi.c
@@ -478,6 +478,7 @@ static int fsl_qspi_get_seqid(struct fsl_qspi *q, u8 cmd)
{
switch (cmd) {
case SPINOR_OP_READ_1_1_4:
+ case SPINOR_OP_READ_1_1_4_4B:
return SEQID_READ;
case SPINOR_OP_WREN:
return SEQID_WREN;
--
1.9.1



2018-08-27 08:07:51

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB

On Sat, 18 Aug 2018 17:14:23 +0800
Liu Xiang <[email protected]> wrote:

> If the size of spi-nor flash is larger than 16MB, the read_opcode
> is set to SPINOR_OP_READ_1_1_4_4B, and fsl_qspi_get_seqid() will
> return -EINVAL when cmd is SPINOR_OP_READ_1_1_4_4B. This can
> cause read operation fail.
>
> Signed-off-by: Liu Xiang <[email protected]>

I'm pretty sure you want to backport this fix. Can you add a Fixes tag
and CC stable?

Also, I'd like to have an Ack from someone working at NXP (Han,
Yogesh?).

Thanks,

Boris.

> ---
> drivers/mtd/spi-nor/fsl-quadspi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
> index 7d9620c..64304a3 100644
> --- a/drivers/mtd/spi-nor/fsl-quadspi.c
> +++ b/drivers/mtd/spi-nor/fsl-quadspi.c
> @@ -478,6 +478,7 @@ static int fsl_qspi_get_seqid(struct fsl_qspi *q, u8 cmd)
> {
> switch (cmd) {
> case SPINOR_OP_READ_1_1_4:
> + case SPINOR_OP_READ_1_1_4_4B:
> return SEQID_READ;
> case SPINOR_OP_WREN:
> return SEQID_WREN;


2018-08-27 15:05:38

by Liu Xiang

[permalink] [raw]
Subject: Re:Re: [PATCH] mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB



Fixes:e46ecda764dc37f9fc6279d95ea2c007daef1a71("mtd: spi-nor: Add Freescale QuadSPI driver")
Cc: [email protected]

Should I send a V2 patch that adds these above?




At 2018-08-27 16:06:13, "Boris Brezillon" <[email protected]> wrote:
>On Sat, 18 Aug 2018 17:14:23 +0800
>Liu Xiang <[email protected]> wrote:
>
>> If the size of spi-nor flash is larger than 16MB, the read_opcode
>> is set to SPINOR_OP_READ_1_1_4_4B, and fsl_qspi_get_seqid() will
>> return -EINVAL when cmd is SPINOR_OP_READ_1_1_4_4B. This can
>> cause read operation fail.
>>
>> Signed-off-by: Liu Xiang <[email protected]>
>
>I'm pretty sure you want to backport this fix. Can you add a Fixes tag
>and CC stable?
>
>Also, I'd like to have an Ack from someone working at NXP (Han,
>Yogesh?).
>
>Thanks,
>
>Boris.
>
>> ---
>> drivers/mtd/spi-nor/fsl-quadspi.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
>> index 7d9620c..64304a3 100644
>> --- a/drivers/mtd/spi-nor/fsl-quadspi.c
>> +++ b/drivers/mtd/spi-nor/fsl-quadspi.c
>> @@ -478,6 +478,7 @@ static int fsl_qspi_get_seqid(struct fsl_qspi *q, u8 cmd)
>> {
>> switch (cmd) {
>> case SPINOR_OP_READ_1_1_4:
>> + case SPINOR_OP_READ_1_1_4_4B:
>> return SEQID_READ;
>> case SPINOR_OP_WREN:
>> return SEQID_WREN;

2018-08-27 15:22:04

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB

On Mon, 27 Aug 2018 23:02:29 +0800 (CST)
liuxiang <[email protected]> wrote:

> Fixes:e46ecda764dc37f9fc6279d95ea2c007daef1a71("mtd: spi-nor: Add Freescale QuadSPI driver")

12 digits should be enough for the commit-id.

> Cc: [email protected]
>
> Should I send a V2 patch that adds these above?

Yes please.