[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5a9e4cb8-824e-4f62-bfc0-ea4b89f27ebf@web.de>
Date: Mon, 26 Feb 2024 19:10:24 +0100
From: Markus Elfring <Markus.Elfring@....de>
To: freedreno@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-arm-msm@...r.kernel.org, kernel-janitors@...r.kernel.org,
Abhinav Kumar <quic_abhinavk@...cinc.com>,
Akhil P Oommen <quic_akhilpo@...cinc.com>, Daniel Vetter <daniel@...ll.ch>,
David Airlie <airlied@...il.com>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Douglas Anderson <dianders@...omium.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Marijn Suijten <marijn.suijten@...ainline.org>,
Rob Clark <robdclark@...il.com>, Sean Paul <sean@...rly.run>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH] drm/msm/a6xx: Improve error handling in a6xx_gmu_rpmh_init()
From: Markus Elfring <elfring@...rs.sourceforge.net>
Date: Mon, 26 Feb 2024 18:46:38 +0100
The label “err” was used as a target for two statements despite of
the implementation detail that failure conditions could be handled better.
* Thus return directly after a call of the function “a6xx_gmu_get_mmio”
failed at the beginning.
* Reorder affected statements at the end.
* Adjust a jump target.
* Omit an extra pointer check which became unnecessary
with this refactoring.
Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
---
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index 8c4900444b2c..55a34f11eb9a 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -525,7 +525,7 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu)
bool pdc_in_aop = false;
if (IS_ERR(pdcptr))
- goto err;
+ return;
if (adreno_is_a650(adreno_gpu) ||
adreno_is_a660_family(adreno_gpu) ||
@@ -541,7 +541,7 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu)
if (!pdc_in_aop) {
seqptr = a6xx_gmu_get_mmio(pdev, "gmu_pdc_seq");
if (IS_ERR(seqptr))
- goto err;
+ goto unmap_io_pdc;
}
/* Disable SDE clock gating */
@@ -634,11 +634,11 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu)
a6xx_rpmh_stop(gmu);
-err:
- if (!IS_ERR_OR_NULL(pdcptr))
- iounmap(pdcptr);
if (!IS_ERR_OR_NULL(seqptr))
iounmap(seqptr);
+
+unmap_io_pdc:
+ iounmap(pdcptr);
}
/*
--
2.43.2
Powered by blists - more mailing lists