diff options
author | Jonas Karlman <[email protected]> | 2023-06-21 22:33:20 +0000 |
---|---|---|
committer | Heiko Stuebner <[email protected]> | 2023-08-12 23:53:35 +0200 |
commit | 5aacd290837828c089a83ac9795c74c4c9e2c923 (patch) | |
tree | 0cfbfa856b943623c785b90bbfd99b35f358cf98 | |
parent | 800f7c332df7cd9614c416fd005a6bb53f96f13c (diff) |
drm/rockchip: vop: Fix call to crtc reset helper
Allocation of crtc_state may fail in vop_crtc_reset, causing an invalid
pointer to be passed to __drm_atomic_helper_crtc_reset.
Fix this by adding a NULL check of crtc_state, similar to other drivers.
Fixes: 01e2eaf40c9d ("drm/rockchip: Convert to using __drm_atomic_helper_crtc_reset() for reset.")
Signed-off-by: Jonas Karlman <[email protected]>
Reviewed-by: Sascha Hauer <[email protected]>
Signed-off-by: Heiko Stuebner <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
-rw-r--r-- | drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 8e89d78342e9..4872aecda066 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -1629,7 +1629,10 @@ static void vop_crtc_reset(struct drm_crtc *crtc) if (crtc->state) vop_crtc_destroy_state(crtc, crtc->state); - __drm_atomic_helper_crtc_reset(crtc, &crtc_state->base); + if (crtc_state) + __drm_atomic_helper_crtc_reset(crtc, &crtc_state->base); + else + __drm_atomic_helper_crtc_reset(crtc, NULL); } #ifdef CONFIG_DRM_ANALOGIX_DP |