Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69e5d3f8 authored by Dave Airlie's avatar Dave Airlie
Browse files

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: default avatarDave Airlie <airlied@redhat.com>
parent 1f93e4a9
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -886,13 +886,15 @@ static enum drm_connector_status qxl_conn_detect(
		drm_connector_to_qxl_output(connector);
	struct drm_device *ddev = connector->dev;
	struct qxl_device *qdev = ddev->dev_private;
	int connected;
	bool connected = false;

	/* The first monitor is always connected */
	connected = (output->index == 0) ||
		    (qdev->client_monitors_config &&
		     qdev->client_monitors_config->count > output->index &&
		     qxl_head_enabled(&qdev->client_monitors_config->heads[output->index]));
	if (!qdev->client_monitors_config) {
		if (output->index == 0)
			connected = true;
	} else
		connected = qdev->client_monitors_config->count > output->index &&
		     qxl_head_enabled(&qdev->client_monitors_config->heads[output->index]);

	DRM_DEBUG("#%d connected: %d\n", output->index, connected);
	if (!connected)