summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJohan Hovold <johan+linaro@kernel.org>2023-03-06 11:07:16 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-05-17 11:50:24 +0200
commite2d1cc82ad509c07a9ab0ab4bf88b6613fbf784b (patch)
treeb81bcad33ddbc39c1c71529926542cfdbf87acf3 /drivers
parent8f0e1ad5327a3499e7f09157cb714302a856e8a4 (diff)
downloadlinux-e2d1cc82ad509c07a9ab0ab4bf88b6613fbf784b.tar.gz
linux-e2d1cc82ad509c07a9ab0ab4bf88b6613fbf784b.tar.bz2
linux-e2d1cc82ad509c07a9ab0ab4bf88b6613fbf784b.zip
drm/msm: fix NULL-deref on irq uninstall
commit cd459c005de3e2b855a8cc7768e633ce9d018e9f upstream. In case of early initialisation errors and on platforms that do not use the DPU controller, the deinitilisation code can be called with the kms pointer set to NULL. Fixes: f026e431cf86 ("drm/msm: Convert to Linux IRQ interfaces") Cc: stable@vger.kernel.org # 5.14 Cc: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/525104/ Link: https://lore.kernel.org/r/20230306100722.28485-5-johan+linaro@kernel.org Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/msm/msm_drv.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 91609e86c9aa..e238d2beb7ab 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -364,9 +364,11 @@ static int msm_drm_uninit(struct device *dev)
drm_mode_config_cleanup(ddev);
- pm_runtime_get_sync(dev);
- msm_irq_uninstall(ddev);
- pm_runtime_put_sync(dev);
+ if (kms) {
+ pm_runtime_get_sync(dev);
+ msm_irq_uninstall(ddev);
+ pm_runtime_put_sync(dev);
+ }
if (kms && kms->funcs)
kms->funcs->destroy(kms);