2022-07-28 03:05:20

by Tudor Ambarus

[permalink] [raw]
Subject: [PATCH] mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode

Add an error message when failing to exit the 4-byte address mode. Do not
stop the execution and go through the spi_nor_soft_reset() method if used,
in the hope that the flash will default to 3-byte address mode after the
reset.

Suggested-by: Pratyush Yadav <[email protected]>
Signed-off-by: Tudor Ambarus <[email protected]>
---
drivers/mtd/spi-nor/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index f2c64006f8d7..1cdbdad97136 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -2841,7 +2841,8 @@ void spi_nor_restore(struct spi_nor *nor)
/* restore the addressing mode */
if (nor->addr_nbytes == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
nor->flags & SNOR_F_BROKEN_RESET)
- nor->params->set_4byte_addr_mode(nor, false);
+ if (nor->params->set_4byte_addr_mode(nor, false))
+ dev_err(nor->dev, "Failed to exit 4-byte address mode\n");

if (nor->flags & SNOR_F_SOFT_RESET)
spi_nor_soft_reset(nor);
--
2.25.1


2022-07-28 12:18:21

by Pratyush Yadav

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode

On 28/07/22 06:01AM, Tudor Ambarus wrote:
> Add an error message when failing to exit the 4-byte address mode. Do not
> stop the execution and go through the spi_nor_soft_reset() method if used,
> in the hope that the flash will default to 3-byte address mode after the
> reset.
>
> Suggested-by: Pratyush Yadav <[email protected]>
> Signed-off-by: Tudor Ambarus <[email protected]>

Reviewed-by: Pratyush Yadav <[email protected]>

> ---
> drivers/mtd/spi-nor/core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
> index f2c64006f8d7..1cdbdad97136 100644
> --- a/drivers/mtd/spi-nor/core.c
> +++ b/drivers/mtd/spi-nor/core.c
> @@ -2841,7 +2841,8 @@ void spi_nor_restore(struct spi_nor *nor)
> /* restore the addressing mode */
> if (nor->addr_nbytes == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
> nor->flags & SNOR_F_BROKEN_RESET)
> - nor->params->set_4byte_addr_mode(nor, false);
> + if (nor->params->set_4byte_addr_mode(nor, false))
> + dev_err(nor->dev, "Failed to exit 4-byte address mode\n");
>
> if (nor->flags & SNOR_F_SOFT_RESET)
> spi_nor_soft_reset(nor);
> --
> 2.25.1
>

--
Regards,
Pratyush Yadav
Texas Instruments Inc.

2022-07-28 12:20:50

by Michael Walle

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode

Hi,

Am 2022-07-28 05:01, schrieb Tudor Ambarus:
> Add an error message when failing to exit the 4-byte address mode. Do
> not
> stop the execution and go through the spi_nor_soft_reset() method if
> used,
> in the hope that the flash will default to 3-byte address mode after
> the
> reset.
>
> Suggested-by: Pratyush Yadav <[email protected]>
> Signed-off-by: Tudor Ambarus <[email protected]>
> ---
> drivers/mtd/spi-nor/core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
> index f2c64006f8d7..1cdbdad97136 100644
> --- a/drivers/mtd/spi-nor/core.c
> +++ b/drivers/mtd/spi-nor/core.c
> @@ -2841,7 +2841,8 @@ void spi_nor_restore(struct spi_nor *nor)
> /* restore the addressing mode */
> if (nor->addr_nbytes == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
> nor->flags & SNOR_F_BROKEN_RESET)
> - nor->params->set_4byte_addr_mode(nor, false);
> + if (nor->params->set_4byte_addr_mode(nor, false))
> + dev_err(nor->dev, "Failed to exit 4-byte address mode\n");

Could we stick to the ususal pattern:

ret = func()
if (ret)
err("blubb (%d)", ret);

I know it is more lines but imho it makes the code much more readable.
And that way you could also print the error code. You could also use
dev_err("bla (%pe)\n", ERR_PTR(ret));

-michael

2022-07-28 13:18:37

by Tudor Ambarus

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode

On 7/28/22 15:15, Michael Walle wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Hi,
>
> Am 2022-07-28 05:01, schrieb Tudor Ambarus:
>> Add an error message when failing to exit the 4-byte address mode. Do
>> not
>> stop the execution and go through the spi_nor_soft_reset() method if
>> used,
>> in the hope that the flash will default to 3-byte address mode after
>> the
>> reset.
>>
>> Suggested-by: Pratyush Yadav <[email protected]>
>> Signed-off-by: Tudor Ambarus <[email protected]>
>> ---
>>  drivers/mtd/spi-nor/core.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
>> index f2c64006f8d7..1cdbdad97136 100644
>> --- a/drivers/mtd/spi-nor/core.c
>> +++ b/drivers/mtd/spi-nor/core.c
>> @@ -2841,7 +2841,8 @@ void spi_nor_restore(struct spi_nor *nor)
>>       /* restore the addressing mode */
>>       if (nor->addr_nbytes == 4 && !(nor->flags & SNOR_F_4B_OPCODES) &&
>>           nor->flags & SNOR_F_BROKEN_RESET)
>> -             nor->params->set_4byte_addr_mode(nor, false);
>> +             if (nor->params->set_4byte_addr_mode(nor, false))
>> +                     dev_err(nor->dev, "Failed to exit 4-byte address mode\n");
>
> Could we stick to the ususal pattern:
>
> ret = func()
> if (ret)
>    err("blubb (%d)", ret);
>
> I know it is more lines but imho it makes the code much more readable.
> And that way you could also print the error code. You could also use
> dev_err("bla (%pe)\n", ERR_PTR(ret));
>

sure, will do. Thanks.

2022-10-25 02:43:40

by Tudor Ambarus

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode

On Thu, 28 Jul 2022 06:01:59 +0300, Tudor Ambarus wrote:
> Add an error message when failing to exit the 4-byte address mode. Do not
> stop the execution and go through the spi_nor_soft_reset() method if used,
> in the hope that the flash will default to 3-byte address mode after the
> reset.
>
>

Applied to spi-nor/next, thanks!

[1/1] mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode
https://git.kernel.org/mtd/c/bb0e9c600ce2

Best regards,
--
Tudor Ambarus <[email protected]>