On Thu, Dec 18, 2025 at 03:17:50PM +0800, Shengjiu Wang wrote:
> Do not reset memory at suspend and resume stage, because some
> memory is used to save the software state for resume, if it is cleared,
> the resume operation can fail.
>
> Fixes: c4c432dfb00f ("remoteproc: imx_dsp_rproc: Add support of recovery and 
> coredump process")
> Signed-off-by: Shengjiu Wang <[email protected]>
> Reviewed-by: Daniel Baluta <[email protected]>
> Reviewed-by: Iuliana Prodan <[email protected]>
> ---
> changes in v2:
> - refine commit message.
Reviewed-by: Frank Li <[email protected]>
>
>  drivers/remoteproc/imx_dsp_rproc.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/remoteproc/imx_dsp_rproc.c 
> b/drivers/remoteproc/imx_dsp_rproc.c
> index d03017d6b214..ac8aa71aa56c 100644
> --- a/drivers/remoteproc/imx_dsp_rproc.c
> +++ b/drivers/remoteproc/imx_dsp_rproc.c
> @@ -984,9 +984,11 @@ static int imx_dsp_rproc_load(struct rproc *rproc, const 
> struct firmware *fw)
>        * Clear buffers after pm rumtime for internal ocram is not
>        * accessible if power and clock are not enabled.
>        */
> -     list_for_each_entry(carveout, &rproc->carveouts, node) {
> -             if (carveout->va)
> -                     memset(carveout->va, 0, carveout->len);
> +     if (rproc->state == RPROC_OFFLINE) {
> +             list_for_each_entry(carveout, &rproc->carveouts, node) {
> +                     if (carveout->va)
> +                             memset(carveout->va, 0, carveout->len);
> +             }
>       }
>
>       ret = imx_dsp_rproc_elf_load_segments(rproc, fw);
> --
> 2.34.1
>

Reply via email to