Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/qxl: only report first monitor as connected if we have no state

If the server isn't new enough to give us state, report the first
monitor as always connected, otherwise believe the server side.

Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>

+7 -5
+7 -5
drivers/gpu/drm/qxl/qxl_display.c
··· 886 886 drm_connector_to_qxl_output(connector); 887 887 struct drm_device *ddev = connector->dev; 888 888 struct qxl_device *qdev = ddev->dev_private; 889 - int connected; 889 + bool connected = false; 890 890 891 891 /* The first monitor is always connected */ 892 - connected = (output->index == 0) || 893 - (qdev->client_monitors_config && 894 - qdev->client_monitors_config->count > output->index && 895 - qxl_head_enabled(&qdev->client_monitors_config->heads[output->index])); 892 + if (!qdev->client_monitors_config) { 893 + if (output->index == 0) 894 + connected = true; 895 + } else 896 + connected = qdev->client_monitors_config->count > output->index && 897 + qxl_head_enabled(&qdev->client_monitors_config->heads[output->index]); 896 898 897 899 DRM_DEBUG("#%d connected: %d\n", output->index, connected); 898 900 if (!connected)