]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Tue, 9 Jul 2024 11:15:40 +0000 (13:15 +0200)
committerRob Clark <robdclark@chromium.org>
Sun, 1 Sep 2024 15:17:53 +0000 (08:17 -0700)
commit16007768551d5bfe53426645401435ca8d2ef54f
tree7d3c4e6e5c98f9f19deeb441bb2b3812d1e46781
parente19366911340c2313a1abbb09c54eaf9bdea4f58
drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs

There are some cases, such as the one uncovered by Commit 46d4efcccc68
("drm/msm/a6xx: Avoid a nullptr dereference when speedbin setting fails")
where

msm_gpu_cleanup() : platform_set_drvdata(gpu->pdev, NULL);

is called on gpu->pdev == NULL, as the GPU device has not been fully
initialized yet.

Turns out that there's more than just the aforementioned path that
causes this to happen (e.g. the case when there's speedbin data in the
catalog, but opp-supported-hw is missing in DT).

Assigning msm_gpu->pdev earlier seems like the least painful solution
to this, therefore do so.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/602742/
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/adreno_gpu.c
drivers/gpu/drm/msm/msm_gpu.c