summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_modes.c
diff options
context:
space:
mode:
authorVille Syrjälä2017-11-14 19:32:49 +0100
committerVille Syrjälä2018-01-29 20:23:35 +0100
commit064a3e6e8e4b01e7bcbf4de6564ab52530e86d92 (patch)
tree4cff099a79a2c79ca242f2ff57d6c7201a1ee80f /drivers/gpu/drm/drm_modes.c
parentdrm: Warn if plane/crtc/encoder/connector index exceeds our 32bit bitmasks (diff)
downloadkernel-qcow2-linux-064a3e6e8e4b01e7bcbf4de6564ab52530e86d92.tar.gz
kernel-qcow2-linux-064a3e6e8e4b01e7bcbf4de6564ab52530e86d92.tar.xz
kernel-qcow2-linux-064a3e6e8e4b01e7bcbf4de6564ab52530e86d92.zip
drm/modes: Move 3D stereo flag check into drm_mode_validate_basic()
Currently we don't sanity check the 3D stereo flags for modes filled out by the kernel. Move the check from drm_mode_convert_umode() into drm_mode_validate_basic() so that we get the same check going both ways. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171114183258.16976-2-ville.syrjala@linux.intel.com Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/drm_modes.c')
-rw-r--r--drivers/gpu/drm/drm_modes.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
index 4a3f68a33844..1a72883b836e 100644
--- a/drivers/gpu/drm/drm_modes.c
+++ b/drivers/gpu/drm/drm_modes.c
@@ -1036,6 +1036,9 @@ EXPORT_SYMBOL(drm_mode_equal_no_clocks_no_stereo);
enum drm_mode_status
drm_mode_validate_basic(const struct drm_display_mode *mode)
{
+ if ((mode->flags & DRM_MODE_FLAG_3D_MASK) > DRM_MODE_FLAG_3D_MAX)
+ return MODE_BAD;
+
if (mode->clock == 0)
return MODE_CLOCK_LOW;
@@ -1574,9 +1577,6 @@ int drm_mode_convert_umode(struct drm_display_mode *out,
goto out;
}
- if ((in->flags & DRM_MODE_FLAG_3D_MASK) > DRM_MODE_FLAG_3D_MAX)
- goto out;
-
out->clock = in->clock;
out->hdisplay = in->hdisplay;
out->hsync_start = in->hsync_start;