Re: Lenovo W540 blank screen on suspend/resume after update

Chagin Dmitry <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile,gmane.os.freebsd.devel.acpi
Message-ID <[email protected]>
On Fri, Nov 14, 2014 at 03:33:26PM -0500, Eric McCorkle wrote:
> Sorry, don't remember the working version.
> 
> I have acpi_video compiled in to my kernel. I've tried it with both vt and sc and gotten the same result. 
> 
> Might try to do more diagnostics this weekend. 
> 
> On November 14, 2014 11:18:57 AM EST, Chagin Dmitry <[email protected]> wrote:
> >On Thu, Nov 13, 2014 at 02:13:35PM -0800, Adrian Chadd wrote:
> >> Hi,
> >> 
> >> Does it stay blank if you have acpi_video (+ vt) loaded?
> >> 
> >> What was the revision of 11 you were previously running?
> >> 
> >> 
> >> 
> >> -adrian
> >> 
> >> 
> >> On 13 November 2014 14:10, Eric McCorkle <[email protected]>
> >wrote:
> >> > Hello,
> >> >
> >> > I updated my kernel and userland with a fresh update from 11
> >yesterday, and
> >> > I'm now seeing a blank screen after suspend/resume, where it was
> >working
> >> > fine previously.
> >> >
> >> > I had been trying out the new vt console, so I switched back to sc,
> >but the
> >> > blank screen is still there.
> >> >
> >> > Sorry, I don't have any information beyond this (quite busy these
> >days).
> >> >
> >> > Eric
> >
> >
> >Lenovo t540, same here. r274463 + sc. resume worked two weeks ago.
> >
> >
> >-- 
> >Have fun!
> >chd
> 

try attached patch. it seems we should take a close look to other
PCIB_POWER_FOR_SLEEP() calls. 

-- 
Have fun!
chd
pci.patch (text/x-diff, 753 B)
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index d2ac111..8e6b87b 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -3637,7 +3637,6 @@ static void
 pci_set_power_child(device_t dev, device_t child, int state)
 {
 	struct pci_devinfo *dinfo;
-	device_t pcib;
 	int dstate;
 
 	/*
@@ -3647,11 +3646,10 @@ pci_set_power_child(device_t dev, device_t child, int state)
 	 * device power.  Skip children who aren't attached since they
 	 * are handled separately.
 	 */
-	pcib = device_get_parent(dev);
 	dinfo = device_get_ivars(child);
 	dstate = state;
 	if (device_is_attached(child) &&
-	    PCIB_POWER_FOR_SLEEP(pcib, child, &dstate) == 0)
+	    PCIB_POWER_FOR_SLEEP(dev, child, &dstate) == 0)
 		pci_set_powerstate(child, dstate);
 }
signature.asc (application/pgp-signature, 181 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlRqPJcACgkQ0t2Tb3OO/O0VFgCghHNMr8jynEH75SlnsU/wr9Le
8C8Ani8Kbngyi1Lmlo5LWP7NAe0EgM75
=26aN
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.