From owner-freebsd-mobile Tue Nov 18 12:44:06 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id MAA21177 for mobile-outgoing; Tue, 18 Nov 1997 12:44:06 -0800 (PST) (envelope-from owner-freebsd-mobile) Received: from ns.mt.sri.com (sri-gw.MT.net [206.127.105.141]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id MAA21132 for ; Tue, 18 Nov 1997 12:43:53 -0800 (PST) (envelope-from nate@mt.sri.com) Received: from mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.8.8/8.8.8) with SMTP id NAA03653; Tue, 18 Nov 1997 13:43:51 -0700 (MST) (envelope-from nate@rocky.mt.sri.com) Received: by mt.sri.com (SMI-8.6/SMI-SVR4) id NAA03016; Tue, 18 Nov 1997 13:43:48 -0700 Date: Tue, 18 Nov 1997 13:43:48 -0700 Message-Id: <199711182043.NAA03016@mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: APM and Compaq Contura 400CX In-Reply-To: References: X-Mailer: VM 6.29 under 19.15 XEmacs Lucid Sender: owner-freebsd-mobile@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk To: undisclosed-recipients:; > I've been using FreeBSD-current on my Compaq Contura > 400CX for some time now. Things are almost perfect, > there is just one problem with suspend/resume. > > When I suspend the machine by pressing suspend button, > apm driver seems to get PMEV_SUSPENDREQ as expected. > However, in apm_suspend (in i386/apm.c), when system > calls apm_processevent after calling apm_suspend_system, > it receives many extraneous PMEV_SUSPENDREQ events. > I guess that this is caused by bios not clearing > the event correctly in this situation, since adding > a small delay before calling apm_processevent makes > everything to work OK. Are you running the latest/greatest bits in apm.c (v1.65)? If so, how long of a delay are you using? > Otherwise, the system > goes into infinite loop trying to process another > suspend request and another and another... Eventually > it crashes. This is no good. I could easily fix this, but I'm not sure what's the best way to do this and still maintain compatability with other machines/specificiations. Fixing it to work on your machine may break it on other machines. :( Nate