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]
Date:	Thu, 29 May 2014 22:57:20 +0200
From:	Daniel Vetter <daniel.vetter@...ll.ch>
To:	Alex Deucher <alexdeucher@...il.com>
Cc:	Dan Carpenter <dan.carpenter@...cle.com>,
	Ken Moffat <zarniwhoop@...world.com>,
	Dave Airlie <airlied@...hat.com>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: Resume from suspend broken in 3.15. (bisected)

On Thu, May 29, 2014 at 10:47 PM, Alex Deucher <alexdeucher@...il.com> wrote:
> On Thu, May 29, 2014 at 2:03 AM, Dan Carpenter <dan.carpenter@...cle.com> wrote:
>> On Wed, May 28, 2014 at 08:26:53PM -0400, Alex Deucher wrote:
>>> On Wed, May 28, 2014 at 7:49 PM, Ken Moffat <zarniwhoop@...world.com> wrote:
>>> > On Wed, May 28, 2014 at 06:25:21PM +0100, Ken Moffat wrote:
>>> >> Hi Daniel,
>>> >>
>>> >
>>> >  [ correcting details, confirming that reverting this does fix the
>>> > problem, adding Cc:s ]
>>> >
>>> >>  I've only started full testing of 3.15 on one of my machines now
>>> >> that -rc7 has been released (this one had two issues in the radeon
>>> >> code, second was fixed in rc7).  Unfortunately, suspend to RAM
>>> >> (pm-suspend), or rather the wake-up, is broken on this box [ my
>>> >> other two boxes are fine in rc7 ].
>>> >>
>>> >> Bisection identified one of your commits -
>>> >>
>>> >> commit 25f397a429dfa43f22c278d0119a60a343aa568f
>>> >> Author: Daniel Vetter <daniel.vetter@...ll.ch>
>>> >> Date:   Fri Jul 19 18:57:11 2013 +0200
>>> >>
>>> >>     drm/crtc-helper: explicit DPMS on after modeset
>>> >>
>>> >>     Atm the crtc helper implementation of set_config has really
>>> >>     inconsisten semantics: If just an fb update is good enough, dpms state
>>> >>     will be left as-is, but if we do a full modeset we force everything to
>>> >>     dpms on.
>>> >>
>>> >>     This change has already been applied to the i915 modeset code in
>>> >>
>>> >> ('git show' stops at that point)
>>> >
>>> >  update : I've no idea what was going on there, nor for the problem
>>> > with attempting to revert it.  I've now gone back into git,
>>> > extracted the full commit to a file with 'git show', and then used
>>> > git apply -R to revert it from 3.15-rc7.  That version wakes up from
>>> > suspend to RAM, 3.15-rc7 itself did not.
>>> >
>>> >  Maybe I was still in git log when I thought I was on the command
>>> > line.  Anyway, snipping git's view of my failed attempt to revert
>>> > it, and adding Dan and Alex who were CC'd on the commit.
>>> >
>>>
>>> Duplicate of:
>>> https://bugzilla.kernel.org/show_bug.cgi?id=74751
>>> and also reported here:
>>> https://lkml.org/lkml/2014/5/2/388
>>> Unless there is a good reason to keep the commit, I'd say let's just revert it.
>>>
>>
>> Yes.  Let's revert it.
>
> The actual bad commit is 177cf92de4aa97ec1435987e91696ed8b5023130, but
> for some reason git bisect always comes up with
> 25f397a429dfa43f22c278d0119a60a343aa568f which has been in the tree
> for almost a year now.  I don't know why.

Quick patch which is worth a shot before we revert 177cf.
-Daniel

diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index c2edb2d14030..cf5d299cc623 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1534,11 +1534,6 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
 
 	radeon_restore_bios_scratch_regs(rdev);
 
-	if (fbcon) {
-		radeon_fbdev_set_suspend(rdev, 0);
-		console_unlock();
-	}
-
 	/* init dig PHYs, disp eng pll */
 	if (rdev->is_atom_bios) {
 		radeon_atom_encoder_init(rdev);
@@ -1563,6 +1558,12 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
 	}
 
 	drm_kms_helper_poll_enable(dev);
+
+	if (fbcon) {
+		radeon_fbdev_set_suspend(rdev, 0);
+		console_unlock();
+	}
+
 	return 0;
 }
 
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ