diff mbox series

mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode

Message ID 20220728030159.68680-1-tudor.ambarus@microchip.com
State Accepted
Delegated to: Ambarus Tudor
Headers show
Series mtd: spi-nor: core: Add an error message when failing to exit the 4-byte address mode | expand

Commit Message

Tudor Ambarus July 28, 2022, 3:01 a.m. UTC
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 <p.yadav@ti.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
---
 drivers/mtd/spi-nor/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Pratyush Yadav July 28, 2022, 12:06 p.m. UTC | #1
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 <p.yadav@ti.com>
> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>

Reviewed-by: Pratyush Yadav <p.yadav@ti.com>

> ---
>  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
>
Michael Walle July 28, 2022, 12:15 p.m. UTC | #2
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 <p.yadav@ti.com>
> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
> ---
>  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
Tudor Ambarus July 28, 2022, 12:26 p.m. UTC | #3
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 <p.yadav@ti.com>
>> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
>> ---
>>  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.
Tudor Ambarus Oct. 25, 2022, 2:33 a.m. UTC | #4
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,
diff mbox series

Patch

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);