[PATCH] mtd: spi-nor: Ensure operation completion before shutdown

Md Sadre Alam posted 1 patch 2 years, 2 months ago
drivers/mtd/spi-nor/core.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH] mtd: spi-nor: Ensure operation completion before shutdown
Posted by Md Sadre Alam 2 years, 2 months ago
Ensure that there are no pending spi operation inprogress
when system halts.

Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com>
---
 drivers/mtd/spi-nor/core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index 1c443fe568cf..adc4d2c68695 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -3690,6 +3690,9 @@ static void spi_nor_shutdown(struct spi_mem *spimem)
 {
 	struct spi_nor *nor = spi_mem_get_drvdata(spimem);
 
+	/* Ensure no pending spi operation in progress */
+	spi_nor_wait_till_ready(nor);
+
 	spi_nor_restore(nor);
 }
 
-- 
2.34.1
Re: [PATCH] mtd: spi-nor: Ensure operation completion before shutdown
Posted by Michael Walle 2 years, 2 months ago
Hi,

Am 2023-10-12 07:51, schrieb Md Sadre Alam:
> Ensure that there are no pending spi operation inprogress
> when system halts.

What operation might be in progress here? Did you encounter some 
problems?
Please explain it in more detail in the commit message.

Fixes tag?

-michael

> Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com>
> ---
>  drivers/mtd/spi-nor/core.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
> index 1c443fe568cf..adc4d2c68695 100644
> --- a/drivers/mtd/spi-nor/core.c
> +++ b/drivers/mtd/spi-nor/core.c
> @@ -3690,6 +3690,9 @@ static void spi_nor_shutdown(struct spi_mem 
> *spimem)
>  {
>  	struct spi_nor *nor = spi_mem_get_drvdata(spimem);
> 
> +	/* Ensure no pending spi operation in progress */
> +	spi_nor_wait_till_ready(nor);
> +
>  	spi_nor_restore(nor);
>  }
Re: [PATCH] mtd: spi-nor: Ensure operation completion before shutdown
Posted by Md Sadre Alam 2 years, 2 months ago

On 10/12/2023 2:41 PM, Michael Walle wrote:
> Hi,
> 
> Am 2023-10-12 07:51, schrieb Md Sadre Alam:
>> Ensure that there are no pending spi operation inprogress
>> when system halts.
> 
> What operation might be in progress here? Did you encounter some problems?
> Please explain it in more detail in the commit message.
> 
> Fixes tag?

   We have faced issue while doing nor flash read/write test with specific nor part.
   Will check once again with the same part and post new patch.
> 
> -michael
> 
>> Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com>
>> ---
>>  drivers/mtd/spi-nor/core.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
>> index 1c443fe568cf..adc4d2c68695 100644
>> --- a/drivers/mtd/spi-nor/core.c
>> +++ b/drivers/mtd/spi-nor/core.c
>> @@ -3690,6 +3690,9 @@ static void spi_nor_shutdown(struct spi_mem *spimem)
>>  {
>>      struct spi_nor *nor = spi_mem_get_drvdata(spimem);
>>
>> +    /* Ensure no pending spi operation in progress */
>> +    spi_nor_wait_till_ready(nor);
>> +
>>      spi_nor_restore(nor);
>>  }
Re: [PATCH] mtd: spi-nor: Ensure operation completion before shutdown
Posted by Pratyush Yadav 2 years, 2 months ago
On Thu, Oct 12 2023, Michael Walle wrote:

> Hi,
>
> Am 2023-10-12 07:51, schrieb Md Sadre Alam:
>> Ensure that there are no pending spi operation inprogress
>> when system halts.
>
> What operation might be in progress here? Did you encounter some problems?
> Please explain it in more detail in the commit message.

+1

Ideally we should never reach this function with a pending operation. I
think we should do a proper wait in the place we did the operation that
needs waiting rather than here. That would make sure operations other
than shutdown, like reads, also work properly.

-- 
Regards,
Pratyush Yadav
Re: [PATCH] mtd: spi-nor: Ensure operation completion before shutdown
Posted by Md Sadre Alam 2 years, 2 months ago

On 10/12/2023 3:36 PM, Pratyush Yadav wrote:
> On Thu, Oct 12 2023, Michael Walle wrote:
> 
>> Hi,
>>
>> Am 2023-10-12 07:51, schrieb Md Sadre Alam:
>>> Ensure that there are no pending spi operation inprogress
>>> when system halts.
>>
>> What operation might be in progress here? Did you encounter some problems?
>> Please explain it in more detail in the commit message.
> 
> +1
> 
> Ideally we should never reach this function with a pending operation. I
> think we should do a proper wait in the place we did the operation that
> needs waiting rather than here. That would make sure operations other
> than shutdown, like reads, also work properly.
> 

   We have faced issue while doing nor flash read/write test with specific nor part.
   Will check once again with the same part and post new patch.