summaryrefslogtreecommitdiffstats
path: root/sys/isa
diff options
context:
space:
mode:
authormux <mux@FreeBSD.org>2004-07-16 22:04:29 +0000
committermux <mux@FreeBSD.org>2004-07-16 22:04:29 +0000
commit8b8f22c839c9af8d37c6b2dd362183dd1ec6bbcb (patch)
tree923b7f3c8e29a584fd40eb64049a6af83e7b8725 /sys/isa
parent8f0acfb8217943f550ec4903b9cdf3c2fc1cb113 (diff)
downloadFreeBSD-src-8b8f22c839c9af8d37c6b2dd362183dd1ec6bbcb.zip
FreeBSD-src-8b8f22c839c9af8d37c6b2dd362183dd1ec6bbcb.tar.gz
Ignore more strange return values of the test_aux_port() function,
because some notebooks (apparently Compaq, Toshiba and Acer ones) erroneously return 2 or 3 there. PR: kern/61482, kern/54188 Submitted by: Ulf Lilleengen <lulf@kerneled.org>, Victor Balada Diaz <victor@alf.dyndns.ws> MFC after: 3 days
Diffstat (limited to 'sys/isa')
-rw-r--r--sys/isa/psm.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/isa/psm.c b/sys/isa/psm.c
index 2d30d65..0a1c92d 100644
--- a/sys/isa/psm.c
+++ b/sys/isa/psm.c
@@ -648,7 +648,9 @@ doinitialize(struct psm_softc *sc, mousemode_t *mode)
int i;
switch((i = test_aux_port(kbdc))) {
- case 1: /* ignore this error */
+ case 1: /* ignore these errors */
+ case 2:
+ case 3:
case PSM_ACK:
if (verbose)
log(LOG_DEBUG, "psm%d: strange result for test aux port (%d).\n",
@@ -1027,14 +1029,16 @@ psmprobe(device_t dev)
* case, we have to continue probing the port even when the controller
* passes this test.
*
- * XXX: some controllers erroneously return the error code 1 when
- * it has the perfectly functional aux port. We have to ignore this
- * error code. Even if the controller HAS error with the aux port,
- * it will be detected later...
+ * XXX: some controllers erroneously return the error code 1, 2 or 3
+ * when it has the perfectly functional aux port. We have to ignore
+ * this error code. Even if the controller HAS error with the aux
+ * port, it will be detected later...
* XXX: another incompatible controller returns PSM_ACK (0xfa)...
*/
switch ((i = test_aux_port(sc->kbdc))) {
- case 1: /* ignore this error */
+ case 1: /* ignore these errors */
+ case 2:
+ case 3:
case PSM_ACK:
if (verbose)
printf("psm%d: strange result for test aux port (%d).\n",
OpenPOWER on IntegriCloud