drm: Silence the compiler for drm_mode_get_hv_timings()
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 26 Jan 2017 11:44:09 +0000 (11:44 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 26 Jan 2017 15:53:03 +0000 (16:53 +0100)
Since moving drm_crtc_get_hv_timings() into drm_modes.c, the compiler
has been able to get smarter and spots that drm_mode_copy() is trying to
preserve garbage from the stack.

Fixes: 196cd5d3758c ("drm: s/drm_crtc_get_hv_timings/drm_mode_get_hv_timings/")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170126114409.9115-1-chris@chris-wilson.co.uk
drivers/gpu/drm/drm_modes.c

index 1d9d4ca..30c716c 100644 (file)
@@ -808,9 +808,8 @@ EXPORT_SYMBOL(drm_mode_vrefresh);
 void drm_mode_get_hv_timing(const struct drm_display_mode *mode,
                            int *hdisplay, int *vdisplay)
 {
-       struct drm_display_mode adjusted;
+       struct drm_display_mode adjusted = *mode;
 
-       drm_mode_copy(&adjusted, mode);
        drm_mode_set_crtcinfo(&adjusted, CRTC_STEREO_DOUBLE_ONLY);
        *hdisplay = adjusted.crtc_hdisplay;
        *vdisplay = adjusted.crtc_vdisplay;