Re: [PATCH 3.14 42/79] drm/qxl: only report first monitor as connected if we have no state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/18/2015, 04:05 AM, Greg Kroah-Hartman wrote:
> 3.14-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Dave Airlie <airlied@xxxxxxxxxx>
> 
> commit 69e5d3f893e19613486f300fd6e631810338aa4b upstream.
> 
> If the server isn't new enough to give us state, report the first
> monitor as always connected, otherwise believe the server side.

Hi,

I've got a bug report, that this commit breaks 3.12-stable:
===============
While testing KDE5 packages which will be landing in Package Hub for
SP1, we found a issue with qxl drm driver in kernel.

When booting SLES (or SLED) 12 SP1, in a libvirt KVM environment, with
QXL as video driver, KDE5 plasma was not rendered on screen, you could
only see mouse cursor.

Booting with nomodeset=1 or qxl.modeset=0 fixes the issue.
===============

Does it make sense? Is 3.12 missing some prerequisite? Or should we just
revert the commit in 3.12? And what about 3.14, 4.1?

Thanks.

> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> 
> ---
>  drivers/gpu/drm/qxl/qxl_display.c |   12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -816,13 +816,15 @@ static enum drm_connector_status qxl_con
>  		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)



-- 
js
suse labs
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]