Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jan 2005 11:32:04 +0300
From:      Andrew Belashov <bel@orel.ru>
To:        dwalton@acm.org
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: Trouble with APM suspend in 5.3-R
Message-ID:  <41EF6C84.5050608@orel.ru>
In-Reply-To: <41EF6101.7010008@acm.org>
References:  <41EF6101.7010008@acm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------000100030601060201030704
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hello, Dave!

Dave Walton wrote:
> On 9 Nov 2004, Gleb Smirnoff wrote:
>  >
>  > Please try the following and report whether this helped.
>  >
>  > 1) Merge revision 1.233 of ata-all.c to your 5.3-RELEASE ata-all.c
>  > 2) Apply patch I've sent to this list yesterday (Subject was 'CURRENT
>  >    patchset for Thinkpad').
>  > 3) Rebuild your kernel with new ata-all.c
>  > 4) Reboot and try suspend/resume.
> 
> I've been unable to get APM suspend/resume to work with 5.3-R on my 
> Thinkpad 770Z.  As released, 'apm -z' causes a lockup (it worked fine in 
> 4.x).  Revision 1.233 of ata-all.c fixes that, and 'apm -z' now causes 
> the system to properly suspend to disk, as it had before.  However, when 
> the system resumes, it spits out three errors regarding pir0, then 
> panics.  This happens with or without your patch applied to ata-all.c.
> 
> Any suggestions?
> Any other info I can provide that might be helpful?

Try attached patch as workaround.

With Best Regards,
Andrew Belashov.

--------------000100030601060201030704
Content-Type: text/plain;
 name="pci_pir.c.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pci_pir.c.diff"

--- sys/i386/pci/pci_pir.c.orig	Fri Jul 30 19:51:30 2004
+++ sys/i386/pci/pci_pir.c	Sun Nov 14 21:47:33 2004
@@ -717,8 +717,12 @@ pir_resume(device_t dev)
 			    "Using %d.%d.INT%c to route link %#x to IRQ %d\n",
 				    pd.bus, pd.device, pd.pin + 'A',
 				    pci_link->pl_id, pci_link->pl_irq);
+#if 0
 			error = pci_pir_biosroute(pd.bus, pd.device, 0, pd.pin,
 			    pci_link->pl_irq);
+#else
+			error = 0;
+#endif
 			if (error)
 				device_printf(dev,
 			    "ROUTE_INTERRUPT on resume for link %#x failed.\n",

--------------000100030601060201030704--



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