armbian_build/patch/kernel/archive/sunxi-6.2/patches.megous/drm-rockchip-Fix-panic-on-reboot-when-DRM-device-fails-to-bind.patch
The-going 77674a2b76
Sunxi 6.2 (#4883)
* sunxi-6.2: add megous patches

* sunxi-6.2: add series.conf

* sunxi-6.2: add armbian patches

* sunxi-6.2: mfd: sunxi-ac200: fix error initialization

* sunxi-6.2: Extract patches again after rebasing

---------

Co-authored-by: Igor Pečovnik <igor@armbian.com>
2023-03-03 19:09:22 +01:00

38 lines
1.1 KiB
Diff

From eda5d73bc305ed667aa36c6345777eaa81a90f85 Mon Sep 17 00:00:00 2001
From: Ondrej Jirman <megi@xff.cz>
Date: Sat, 24 Sep 2022 21:54:23 +0200
Subject: [PATCH 182/391] drm: rockchip: Fix panic on reboot when DRM device
fails to bind
When DRM device is freed, we need to clear the drvdata pointer, because
it now points to invalid memory.
Signed-off-by: Ondrej Jirman <megi@xff.cz>
---
drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 6e0788d14..e50b90636 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -201,6 +201,7 @@ static int rockchip_drm_bind(struct device *dev)
component_unbind_all(dev, drm_dev);
err_free:
drm_dev_put(drm_dev);
+ dev_set_drvdata(dev, NULL);
return ret;
}
@@ -217,6 +218,7 @@ static void rockchip_drm_unbind(struct device *dev)
rockchip_iommu_cleanup(drm_dev);
drm_dev_put(drm_dev);
+ dev_set_drvdata(dev, NULL);
}
DEFINE_DRM_GEM_FOPS(rockchip_drm_driver_fops);
--
2.35.3