Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jul 2013 06:35:12 +0900
From:      Taku YAMAMOTO <taku@tackymt.homeip.net>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        freebsd-acpi@freebsd.org, freebsd-stable@freebsd.org, Ian Smith <smithi@nimnet.asn.au>, freebsd-usb@freebsd.org
Subject:   Re: USB ports on Lenovo T400 do not work after a suspend/resume
Message-ID:  <20130716063512.d48fcc385a64619952a52a66@tackymt.homeip.net>
In-Reply-To: <CAJ-VmomUejy0w7ucqn3OTPHD3AaMTifJ0zh4N%2ByEOyjqkAndhw@mail.gmail.com>
References:  <20130621220013.X55167@sola.nimnet.asn.au> <CAJ-Vmo=W3GW9FzLrTPePhJo_-KY_U--YWCCqA%2B8aWx8HbLkT%2Bg@mail.gmail.com> <20130626152833.M78748@sola.nimnet.asn.au> <CAJ-Vmo=rhm-9mnRcnwWO1ANOZMNpiFXVkHNTVJ%2BaeJzpbGgF-g@mail.gmail.com> <20130626195154.GK88288@e-new.0x20.net> <CAJ-VmokEf2_EKKJMB=yqH1pimdNvdmaKvh%2B3-jJu_6vt5CUakA@mail.gmail.com> <20130627213331.W26984@sola.nimnet.asn.au> <CAJ-VmomUGm7CMpe5k=x4J8g5X9hzP-wV2OEhLf8ySbWx-THJLA@mail.gmail.com> <20130630233640.Y23789@sola.nimnet.asn.au> <CAJ-Vmokh=yAa_NsoE5ud2CdD0gMAiMCthwJ_DqW23_hnav7-Jw@mail.gmail.com> <20130707204957.GD88288@e-new.0x20.net> <CAJ-Vmo=zXxg5q9c3N1Eeqwh3HiedGpAmx2LfNUk4aBk%2Bj=wEEA@mail.gmail.com> <20130708140804.R26496@sola.nimnet.asn.au> <CAJ-VmomUejy0w7ucqn3OTPHD3AaMTifJ0zh4N%2ByEOyjqkAndhw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart=_Tue__16_Jul_2013_06_35_12_+0900_D2=g_ngqTKSdEOy3
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

This reminds me of my local patch which I wrote and forgot about deep in
the git :)

This hack was required to have working USB ports on X61 after resume,
but I'm not sure whether it's still required because I don't have X61 handy
anymore...


On Mon, 8 Jul 2013 11:09:20 -0700
Adrian Chadd <adrian@freebsd.org> wrote:

> On 7 July 2013 22:00, Ian Smith <smithi@nimnet.asn.au> wrote:
> 
> > Checking one more point .. do the USB ports come up ok if you originally
> > boot with nothing plugged in?  If so (or if not), does that local APIC
> 
> Yes.
> 
> > error message appear the same then too?
> 
> >
> 
> No
> 
> 
> -adrian
> _______________________________________________
> freebsd-acpi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org"


-- 
-|-__   山本 拓 / YAMAMOTO, Taku
 | __ <     <taku@tackymt.homeip.net>

      - A chicken is an egg's way of producing more eggs. -

--Multipart=_Tue__16_Jul_2013_06_35_12_+0900_D2=g_ngqTKSdEOy3
Content-Type: text/plain;
 name="acpi_psw-usb.patch"
Content-Disposition: attachment;
 filename="acpi_psw-usb.patch"
Content-Transfer-Encoding: 7bit

commit 5df85bbf9a02f5bd116bc8520aba2d6b4ee1b2fb
Author: Taku YAMAMOTO <taku@tackymt.homeip.net>
Date:   Thu Feb 14 01:07:22 2013 +0900

    Fix GPE handling on sleeping. (found on X61)

diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index da252c4..2ccf08a 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -2905,6 +2905,8 @@ acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate)
     if (acpi_parse_prw(handle, &prw) != 0)
 	return (ENXIO);
     dev = acpi_get_device(handle);
+    if (dev == NULL || (acpi_get_flags(dev) & ACPI_FLAG_WAKE_ENABLED) == 0)
+	return (0);
 
     /*
      * The destination sleep state must be less than (i.e., higher power)
@@ -2918,7 +2920,7 @@ acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate)
 	if (bootverbose)
 	    device_printf(dev, "wake_prep disabled wake for %s (S%d)\n",
 		acpi_name(handle), sstate);
-    } else if (dev && (acpi_get_flags(dev) & ACPI_FLAG_WAKE_ENABLED) != 0) {
+    } else {
 	acpi_pwr_wake_enable(handle, 1);
 	acpi_SetInteger(handle, "_PSW", 1);
 	if (bootverbose)

--Multipart=_Tue__16_Jul_2013_06_35_12_+0900_D2=g_ngqTKSdEOy3--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130716063512.d48fcc385a64619952a52a66>