drivers/mtd/spi-nor/core.c | 3 +++ 1 file changed, 3 insertions(+)
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
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);
> }
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);
>> }
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
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.
© 2016 - 2025 Red Hat, Inc.