diff options
author | Daniel Martin <consume.noise@gmail.com> | 2017-10-20 10:05:35 +0200 |
---|---|---|
committer | Michel Dänzer <michel.daenzer@amd.com> | 2017-11-01 18:42:33 +0100 |
commit | 6441210bc53978a2c46c572e9174215b14f9e813 (patch) | |
tree | 3c46d8d8fdc18867c664c5be31db4d9c715d9538 | |
parent | cafcb55768b58dc63a8c5682000eba21ad904689 (diff) |
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>
(Ported from xserver commit 8d7f7e24261e68459e6f0a865e243473f65fe7ad)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | src/drmmode_display.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c index f57c4364..7ad3235a 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -2796,12 +2796,14 @@ radeon_mode_hotplug(ScrnInfoPtr scrn, drmmode_ptr drmmode) */ for (i = 0; i < config->num_output; i++) { xf86OutputPtr output = config->output[i]; + xf86CrtcPtr crtc = output->crtc; drmmode_output_private_ptr drmmode_output = output->driver_private; uint32_t con_id; drmModeConnectorPtr koutput; - if (drmmode_output->mode_output == NULL) + if (!crtc || !drmmode_output->mode_output) continue; + con_id = drmmode_output->mode_output->connector_id; /* Get an updated view of the properties for the current connector and * look for the link-status property @@ -2813,10 +2815,6 @@ radeon_mode_hotplug(ScrnInfoPtr scrn, drmmode_ptr drmmode) if (props && props->flags & DRM_MODE_PROP_ENUM && !strcmp(props->name, "link-status") && 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 */ drmmode_set_mode_major(crtc, &crtc->mode, crtc->rotation, crtc->x, crtc->y); |