Date: 19 Nov 1997 11:57:58 +0900 From: HAMADA Naoki <hamada@astec.co.jp> To: Nate Williams <nate@mt.sri.com> Cc: freebsd-mobile@FreeBSD.org Subject: Re: APM and Compaq Contura 400CX Message-ID: <ixu3d9fv49.fsf@astec.co.jp> In-Reply-To: Nate Williams's message of 18 Nov 1997 21:05:33 -0000 References: <Pine.BSF.3.96.971118172917.29329A-100000@kn6-045.ktvlpr.inet.fi> <199711182043.NAA03016@mt.sri.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Nate Williams <nate@mt.sri.com> writes: >> 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. :( Compaq seems to have some different idea to cope with APM. When the APM driver sends APM_SETPWSTATE command which sets the state to PMST_SUSPEND, the APM BIOS generates PMEV_STANDBYREQ event. Then FreeBSD's APM driver invokes apm_suspend(), which is quite strange because the bios requires not suspend but standby. The APM driver sends APM_SETPWSTATE command, and the APM BIOS generates PMEV_STANDBYREQ event, so, alas, it loops infinitely until the stack corrupts. Ignoring spurious PMEV_STANDBYREQ is another solution, but it must be far from the right thing. - nao
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ixu3d9fv49.fsf>