drm/modes: parse_cmdline: Set bpp/refresh_specified after successful parsing
drm_connector_get_cmdline_mode() calls drm_mode_parse_command_line_for_connector() with &connector->cmdline_mode as mode argument, so anything which we store in the mode arguments gets kept even if we return false. Avoid storing a possibly false-postive bpp/refresh_specified setting in connector->cmdline_mode by moving the setting of these to after successful parsing of the bpp/refresh parts of the video= argument. Acked-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-7-hdegoede@redhat.com
This commit is contained in:
parent
99e2716e05
commit
6a2d163756
@ -1771,10 +1771,8 @@ bool drm_mode_parse_command_line_for_connector(const char *mode_option,
|
||||
|
||||
/* Try to locate the bpp and refresh specifiers, if any */
|
||||
bpp_ptr = strchr(name, '-');
|
||||
if (bpp_ptr) {
|
||||
if (bpp_ptr)
|
||||
bpp_off = bpp_ptr - name;
|
||||
mode->bpp_specified = true;
|
||||
}
|
||||
|
||||
refresh_ptr = strchr(name, '@');
|
||||
if (refresh_ptr) {
|
||||
@ -1782,7 +1780,6 @@ bool drm_mode_parse_command_line_for_connector(const char *mode_option,
|
||||
return false;
|
||||
|
||||
refresh_off = refresh_ptr - name;
|
||||
mode->refresh_specified = true;
|
||||
}
|
||||
|
||||
/* Locate the start of named options */
|
||||
@ -1825,6 +1822,8 @@ bool drm_mode_parse_command_line_for_connector(const char *mode_option,
|
||||
ret = drm_mode_parse_cmdline_bpp(bpp_ptr, &bpp_end_ptr, mode);
|
||||
if (ret)
|
||||
return false;
|
||||
|
||||
mode->bpp_specified = true;
|
||||
}
|
||||
|
||||
if (refresh_ptr) {
|
||||
@ -1832,6 +1831,8 @@ bool drm_mode_parse_command_line_for_connector(const char *mode_option,
|
||||
&refresh_end_ptr, mode);
|
||||
if (ret)
|
||||
return false;
|
||||
|
||||
mode->refresh_specified = true;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user