On Mon, Nov 04, 2024 at 05:07:38PM +0800, Sui Jingfeng wrote: > 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@xxxxxxxxx> > --- > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) 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@xxxxxxxxxx> > > diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > index 37927bdd6fbe..b26dfe0a76c5 100644 > --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > @@ -1605,7 +1605,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); > > @@ -1670,7 +1672,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; > -- > 2.34.1 > -- With best wishes Dmitry