drivers/dma/qcom/bam_dma.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
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@iscas.ac.cn>
---
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);
}
static const struct dev_pm_ops bam_dma_pm_ops = {
--
2.25.1
> As pm_runtime_force_resume() can return error numbers, it should be > better to check the return value and deal with the exception. 1. Please improve such a change description with an imperative wording. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.10#n94 2. Is there a need to complete the exception handling with a clk_unprepare() call? 3. How do you think about to use a summary phrase like “Return value from a pm_runtime_force_resume() call in bam_dma_resume()”? 4. Were any special source code analysis tools involved from your research organisation? Regards, Markus
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@iscas.ac.cn>
> ---
> 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
On 17.07.2024 9:35 AM, 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@iscas.ac.cn>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
© 2016 - 2025 Red Hat, Inc.