lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4f02ffa1-9b58-3ff6-8cb9-ce19f8fde788@suse.cz>
Date:	Fri, 27 May 2016 13:13:18 +0200
From:	Jiri Slaby <jslaby@...e.cz>
To:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	linux-kernel@...r.kernel.org
Cc:	stable@...r.kernel.org, Dave Airlie <airlied@...hat.com>
Subject: Re: [PATCH 3.14 42/79] drm/qxl: only report first monitor as
 connected if we have no state

On 05/27/2016, 01:06 PM, Jiri Slaby wrote:
> 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@...hat.com>
>>
>> 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?

Also, I am attaching xrandr outputs:
(bad) xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
Virtual-0 disconnected primary 1024x768+0+0 0mm x 0mm
Virtual-1 disconnected
Virtual-2 disconnected
Virtual-3 disconnected
  1024x768 (0x47)   63.5MHz
        h: width  1024 start 1072 end 1176 total 1328 skew    0 clock
47.8KHz
        v: height  768 start  771 end  775 total  798           clock
59.9Hz



(good) xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
Virtual-0 connected primary 1024x768+0+0 0mm x 0mm
   1024x768       59.9*+
   0x0             0.0 +
   1920x1200      59.9
   1920x1080      60.0
   1600x1200      59.9
   1680x1050      60.0
   1400x1050      60.0
   1280x1024      59.9
   1440x900       59.9
   1280x960       59.9
   1280x854       59.9
   1280x800       59.8
   1280x720       59.9
   1152x768       59.8
   800x600        59.9
   848x480        59.7
   720x480        59.7
   640x480        59.4
Virtual-1 disconnected
Virtual-2 disconnected
Virtual-3 disconnected

> Thanks.
> 
>> Signed-off-by: Dave Airlie <airlied@...hat.com>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
>>
>> ---
>>  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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ