drm/rockchip: only call drm_fb_helper_hotplug_event if fb_helper present
Subsystems (4)
PATCH 1/1 drm/rockchip: only call drm_fb_helper_hotplug_event if fb_helper present
Add a check for the presence of fb_helper to rockchip_drm_output_poll_changed() to only call drm_fb_helper_hotplug_event if there is actually a fb_helper available. Without this check I see NULL pointer dereferences when the hdmi hotplug irq fires before the fb_helper got initialized.
---
Fix to variant as seen on at least Exynos, Armada and Omap
drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/gpu/drm/rockchip/rockchip_drm_fb.c +2 -1
@@ -162,7 +162,8 @@ static void rockchip_drm_output_poll_changed(struct drm_device *dev)struct rockchip_drm_private *private = dev->dev_private;struct drm_fb_helper *fb_helper = &private->fbdev_helper; -drm_fb_helper_hotplug_event (fb_helper); +if (fb_helper) +drm_fb_helper_hotplug_event (fb_helper); }static const struct drm_mode_config_funcs rockchip_drm_mode_config_funcs = {
Signature · 1 line
2.1.4
Quoted 17 lines · Heiko Stübner
Add a check for the presence of
fb_helpertorockchip_drm_output_poll_changed()to only calldrm_fb_helper_hotplug_eventif there is actually afb_helperavailable. Without this check I see NULL pointer dereferences when the hdmi hotplug irq fires before thefb_helpergot initialized.Signed-off-by Heiko Stuebner <[email protected]>---
Fix to variant as seen on at least Exynos, Armada and Omapdrivers/gpu/drm/rockchip/rockchip_drm_fb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/gpu/drm/rockchip/rockchip_drm_fb.c +0
-0
drivers/gpu/drm/rockchip/rockchip_drm_fb.c static void rockchip_drm_output_poll_changed(struct drm_device *dev) · line 166
Quoted 6 lines
drivers/gpu/drm/rockchip/rockchip_drm_fb.c +2
-1@@ -162,7 +162,8 @@ static void rockchip_drm_output_poll_changed(struct drm_device *dev)struct rockchip_drm_private *private = dev->dev_private;struct drm_fb_helper *fb_helper = &private->fbdev_helper; -drm_fb_helper_hotplug_event (fb_helper); +if (fb_helper) +drm_fb_helper_hotplug_event (fb_helper);
Thanks for the fix, Applied to my drm-next
Quoted 3 lines
drivers/gpu/drm/rockchip/rockchip_drm_fb.c +0
-0}static const struct drm_mode_config_funcs rockchip_drm_mode_config_funcs = {
Signature · 7 lines
Mark Yao _______________________________________________ dri-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/dri-devel