home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!swrinde!news.dell.com!james
- From: james@raid.dell.com (James Van Artsdalen)
- Newsgroups: comp.unix.bsd
- Subject: Re: 386BSD 0.1: pccons.c bug
- Message-ID: <1992Jul26.212059.29490@raid.dell.com>
- Date: 26 Jul 92 21:20:59 GMT
- References: <1992Jul26.061759.13547@raid.dell.com>
- Reply-To: james@raid.cactus.org (James Van Artsdalen)
- Organization: Dell Computer Co
- Lines: 35
-
- In <1992Jul26.061759.13547@raid.dell.com>, james@raid.dell.com (me) wrote:
-
- Sigh. Obviously I hadn't tested this. The second while loop needs to
- wait for the output buffer bit to go high, not wait for it to go low.
-
- Is there a PS/2 mouse driver (lots of Compaqs and Dells have
- PS/2-style mice)? If so, much of the code in pccons.c will have to
- change to avoid race conditions. The keyboard LED update code needs
- to know that the next byte coming from the 8042 might be a keyboard or
- mouse data byte, and not an ACK for the LED command.
-
- I haven't tested this change. I found the bug by inspection.
-
- *** pccons.c.~1~ Sun Jul 26 01:12:26 1992
- --- pccons.c Sun Jul 26 01:13:36 1992
- ***************
- *** 155,161 ****
-
- while (inb(KBSTATP)&KBS_IBF);
- if (val) outb(KBOUTP, val);
- ! while (inb(KBSTATP)&KBS_IBF);
- return (inb(KBDATAP));
- }
-
- --- 155,161 ----
-
- while (inb(KBSTATP)&KBS_IBF);
- if (val) outb(KBOUTP, val);
- ! while (inb(KBSTATP)&KBS_DIB);
- return (inb(KBDATAP));
- }
- --
- --
- James R. Van Artsdalen james@bigtex.cactus.org "Live Free or Die"
- Dell Computer Co 9505 Arboretum Blvd Austin TX 78759 512-338-8789
-