Subject: Totally broken change to com.c
To: None <email@example.com>
From: Charles M. Hannum <firstname.lastname@example.org>
Date: 10/16/2001 03:47:22
So, I'm looking at this, and there are two obvious problems:
bus_space_write_1(iot, ioh, com_ier,sc->sc_ier);
- iir = IIR_NOPEND;
You can't do this. In that case where that kluge fires (a bug in some
Winbond chips), it will cause the go to go into a loop and wedge.
This change *must* be removed.
! } while (ISSET((iir = bus_space_read_1(iot, ioh, com_iir)), IIR_RXRDY)
! || ((iir & IIR_IMASK) == 0));
This test is also wrong. The IIR is *NOT* a bit mask. Please read