modesetting: Check crtc before searching link-status property

No need to lookup the link-status property if we don't have a crtc.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Daniel Martin 2017-10-20 10:05:35 +02:00 committed by Adam Jackson
parent 8c455db0eb
commit 8d7f7e2426

View File

@ -2270,12 +2270,14 @@ drmmode_handle_uevents(int fd, void *closure)
*/ */
for (i = 0; i < config->num_output; i++) { for (i = 0; i < config->num_output; i++) {
xf86OutputPtr output = config->output[i]; xf86OutputPtr output = config->output[i];
xf86CrtcPtr crtc = output->crtc;
drmmode_output_private_ptr drmmode_output = output->driver_private; drmmode_output_private_ptr drmmode_output = output->driver_private;
uint32_t con_id; uint32_t con_id;
drmModeConnectorPtr koutput; drmModeConnectorPtr koutput;
if (drmmode_output->mode_output == NULL) if (crtc == NULL || drmmode_output->mode_output == NULL)
continue; continue;
con_id = drmmode_output->mode_output->connector_id; con_id = drmmode_output->mode_output->connector_id;
/* Get an updated view of the properties for the current connector and /* Get an updated view of the properties for the current connector and
* look for the link-status property * look for the link-status property
@ -2287,10 +2289,6 @@ drmmode_handle_uevents(int fd, void *closure)
if (props && props->flags & DRM_MODE_PROP_ENUM && if (props && props->flags & DRM_MODE_PROP_ENUM &&
!strcmp(props->name, "link-status") && !strcmp(props->name, "link-status") &&
koutput->prop_values[j] == DRM_MODE_LINK_STATUS_BAD) { koutput->prop_values[j] == DRM_MODE_LINK_STATUS_BAD) {
xf86CrtcPtr crtc = output->crtc;
if (!crtc)
continue;
/* the connector got a link failure, re-set the current mode */ /* the connector got a link failure, re-set the current mode */
drmmode_set_mode_major(crtc, &crtc->mode, crtc->rotation, drmmode_set_mode_major(crtc, &crtc->mode, crtc->rotation,
crtc->x, crtc->y); crtc->x, crtc->y);