[Intel-gfx] [PATCH] drm: Fix drm_crtc vs. drm_plane type bug in plane->reset() handling

Daniel Vetter daniel at ffwll.ch
Mon Aug 11 14:25:43 CEST 2014


On Mon, Aug 11, 2014 at 03:12:34PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> s/struct drm_crtc/struct drm_plane/ in drm_mode_config_reset() so that we
> actually dereference the correct type of structure when calling the
> plane->reset() hook.
> 
> Imre mentioned that his VLV was crashing there on resume. I deciced to have
> a quick look at the code and immediately spotted the problem.
> 
> The problem was introduced when the plane->reset() hook was added here:
>  commit 2aaa4b6f6f6be8c23de8ae60ee30e5d6059c3c64
>  Author: Daniel Vetter <daniel.vetter at ffwll.ch>
>  Date:   Tue Jul 29 15:32:37 2014 +0200
> 
>     drm: Add a plane->reset hook
> 
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Oops, thanks for tracking this down. Squashed into the relevant commit in
topic/core-stuff.
-Daniel
> ---
>  drivers/gpu/drm/drm_crtc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 23c9c9f..f09b752 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -4664,7 +4664,7 @@ out:
>  void drm_mode_config_reset(struct drm_device *dev)
>  {
>  	struct drm_crtc *crtc;
> -	struct drm_crtc *plane;
> +	struct drm_plane *plane;
>  	struct drm_encoder *encoder;
>  	struct drm_connector *connector;
>  
> -- 
> 1.8.5.5
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list