]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/msm: Check return value of of_dma_configure()
authorSui Jingfeng <sui.jingfeng@linux.dev>
Mon, 4 Nov 2024 09:07:38 +0000 (17:07 +0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 24 Dec 2024 18:57:59 +0000 (20:57 +0200)
Because the of_dma_configure() will returns '-EPROBE_DEFER' if the probe
procedure of the specific platform IOMMU driver is not finished yet. It
can also return other error code for various reasons.

Stop pretending that it will always suceess, quit if it fail.

Signed-off-by: Sui Jingfeng <sui.jingfeng@linux.dev>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Fixes: 29ac8979cdf7 ("drm/msm/a6xx: use msm_gem for GMU memory objects")
Fixes: 5a903a44a984 ("drm/msm/a6xx: Introduce GMU wrapper support")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/622782/
Link: https://lore.kernel.org/r/20241104090738.529848-1-sui.jingfeng@linux.dev
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/adreno/a6xx_gmu.c

index fac3128695c6473fb246f382a5fb20ee74b9d1e5..cd659ed99783821e6081446a6323bca6006ad0ce 100644 (file)
@@ -1603,7 +1603,9 @@ int a6xx_gmu_wrapper_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node)
 
        gmu->dev = &pdev->dev;
 
-       of_dma_configure(gmu->dev, node, true);
+       ret = of_dma_configure(gmu->dev, node, true);
+       if (ret)
+               return ret;
 
        pm_runtime_enable(gmu->dev);
 
@@ -1668,7 +1670,9 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node)
 
        gmu->dev = &pdev->dev;
 
-       of_dma_configure(gmu->dev, node, true);
+       ret = of_dma_configure(gmu->dev, node, true);
+       if (ret)
+               return ret;
 
        /* Fow now, don't do anything fancy until we get our feet under us */
        gmu->idle_level = GMU_IDLE_STATE_ACTIVE;