Re: [PATCH] dmaengine: qcom: bam_dma: Handle the return value of bam_dma_resume

From: Dmitry Baryshkov
Date: Wed Jul 17 2024 - 06:13:46 EST


On Wed, Jul 17, 2024 at 03:35:53PM GMT, Chen Ni wrote:
> As pm_runtime_force_resume() can return error numbers, it should be
> better to check the return value and deal with the exception.
>
> Fixes: 0ac9c3dd0d6f ("dmaengine: qcom: bam_dma: fix runtime PM underflow")
> Signed-off-by: Chen Ni <nichen@xxxxxxxxxxx>
> ---
> drivers/dma/qcom/bam_dma.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
> index 5e7d332731e0..d2f5a77dfade 100644
> --- a/drivers/dma/qcom/bam_dma.c
> +++ b/drivers/dma/qcom/bam_dma.c
> @@ -1460,9 +1460,7 @@ static int __maybe_unused bam_dma_resume(struct device *dev)
> if (ret)
> return ret;
>
> - pm_runtime_force_resume(dev);
> -
> - return 0;
> + return pm_runtime_force_resume(dev);

Which function will unroll the earlier clk_prepare() if we return an
error here?

> }
>
> static const struct dev_pm_ops bam_dma_pm_ops = {
> --
> 2.25.1
>

--
With best wishes
Dmitry