Subject: Totally broken change to com.c
To: None <tech-kern@netbsd.org>
From: Charles M. Hannum <abuse@spamalicious.com>
List: tech-kern
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;
continue;
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
the documentation.