mirror of
https://github.com/armbian/build.git
synced 2025-08-15 15:46:58 +02:00
37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
From 787bc24cda87f2dc0a470f827e7fb28f474f3bb5 Mon Sep 17 00:00:00 2001
|
|
From: Ondrej Jirman <megi@xff.cz>
|
|
Date: Sat, 24 Sep 2022 21:54:23 +0200
|
|
Subject: 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 32d8394c4c49..58e06a1ab565 100644
|
|
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
|
|
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
|
|
@@ -207,6 +207,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;
|
|
}
|
|
|
|
@@ -223,6 +224,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
|
|
|