Date: Sun, 23 Jul 2000 18:08:48 +0900 From: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org> To: imp@village.org Cc: nsayer@FreeBSD.org, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/usr.sbin/apm apm.c Message-ID: <20000723180848Y.iwasaki@jp.FreeBSD.org> In-Reply-To: <200007230502.XAA15719@harmony.village.org> References: <200007230449.VAA62622@freefall.freebsd.org> <200007230502.XAA15719@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> In message <200007230449.VAA62622@freefall.freebsd.org> Nick Sayer writes:
> : nsayer 2000/07/22 21:49:43 PDT
> : Modified files:
> : usr.sbin/apm apm.c
> : Log:
> : apm -d also needs a writable file descriptor.
>
> If that's the case, then we need a MFC, since it is broken there. apm
> -d doesn't work on my laptop, so I didn't test it. :-(
>
> Warner
Could you try this patch?
# I've ported this from Linux.
Index: apm.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/apm/apm.c,v
retrieving revision 1.115
diff -u -r1.115 apm.c
--- apm.c 2000/07/19 06:32:00 1.115
+++ apm.c 2000/07/23 09:09:04
@@ -269,12 +269,21 @@
sc->bios.r.ebx = PMDV_DISP0;
sc->bios.r.ecx = newstate ? PMST_APMENABLED:PMST_SUSPEND;
sc->bios.r.edx = 0;
- if (apm_bioscall()) {
- printf("Display off failure: errcode = %d\n",
- 0xff & (sc->bios.r.eax >> 8));
- return 1;
+ if (apm_bioscall() == 0) {
+ return 0;
}
- return 0;
+
+ /* If failed, then try to blank all display devices instead. */
+ sc->bios.r.eax = (APM_BIOS << 8) | APM_SETPWSTATE;
+ sc->bios.r.ebx = 0x01ff; /* all display devices */
+ sc->bios.r.ecx = newstate ? PMST_APMENABLED:PMST_SUSPEND;
+ sc->bios.r.edx = 0;
+ if (apm_bioscall() == 0) {
+ return 0;
+ }
+ printf("Display off failure: errcode = %d\n",
+ 0xff & (sc->bios.r.eax >> 8));
+ return 1;
}
/*
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000723180848Y.iwasaki>
