summaryrefslogtreecommitdiff
path: root/src/drmmode_display.c
diff options
context:
space:
mode:
authorDaniel Martin <consume.noise@gmail.com>2017-10-20 10:05:35 +0200
committerMichel Dänzer <michel.daenzer@amd.com>2017-11-01 18:42:33 +0100
commit6441210bc53978a2c46c572e9174215b14f9e813 (patch)
tree3c46d8d8fdc18867c664c5be31db4d9c715d9538 /src/drmmode_display.c
parentcafcb55768b58dc63a8c5682000eba21ad904689 (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>
Diffstat (limited to 'src/drmmode_display.c')
-rw-r--r--src/drmmode_display.c8
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);