From owner-freebsd-usb@FreeBSD.ORG Mon Jul 15 21:34:07 2013 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 523DE9A2; Mon, 15 Jul 2013 21:34:07 +0000 (UTC) (envelope-from taku@tackymt.homeip.net) Received: from basalt.tackymt.homeip.net (basalt.tackymt.homeip.net [IPv6:2001:470:fd92:0:20d:61ff:fecc:2253]) by mx1.freebsd.org (Postfix) with ESMTP id 0A67CC06; Mon, 15 Jul 2013 21:34:06 +0000 (UTC) Received: from basalt.tackymt.homeip.net (localhost [127.0.0.1]) by basalt.tackymt.homeip.net (Postfix) with ESMTP id EE23D83C6; Tue, 16 Jul 2013 06:34:04 +0900 (JST) X-Virus-Scanned: amavisd-new at tackymt.homeip.net Received: from localhost by basalt.tackymt.homeip.net (amavisd-new, unix socket) with ESMTP id bXgCPpQpZiX0; Tue, 16 Jul 2013 06:34:00 +0900 (JST) Received: from biotite.tackymt.homeip.net (biotite.tackymt.homeip.net [IPv6:2001:470:fd92:0:216:cfff:febc:1472]) by basalt.tackymt.homeip.net (Postfix) with ESMTPSA; Tue, 16 Jul 2013 06:33:59 +0900 (JST) Date: Tue, 16 Jul 2013 06:35:12 +0900 From: Taku YAMAMOTO To: Adrian Chadd Subject: Re: USB ports on Lenovo T400 do not work after a suspend/resume Message-Id: <20130716063512.d48fcc385a64619952a52a66@tackymt.homeip.net> In-Reply-To: References: <20130621220013.X55167@sola.nimnet.asn.au> <20130626152833.M78748@sola.nimnet.asn.au> <20130626195154.GK88288@e-new.0x20.net> <20130627213331.W26984@sola.nimnet.asn.au> <20130630233640.Y23789@sola.nimnet.asn.au> <20130707204957.GD88288@e-new.0x20.net> <20130708140804.R26496@sola.nimnet.asn.au> X-Mailer: Sylpheed 3.3.0 (GTK+ 2.24.17; i386-portbld-freebsd10.0) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Tue__16_Jul_2013_06_35_12_+0900_D2=g_ngqTKSdEOy3" Cc: freebsd-acpi@freebsd.org, freebsd-stable@freebsd.org, Ian Smith , freebsd-usb@freebsd.org X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jul 2013 21:34:07 -0000 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 wrote: > On 7 July 2013 22:00, Ian Smith 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 | __ < - 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 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--