diff options
author | imp <imp@FreeBSD.org> | 2002-03-16 04:26:46 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2002-03-16 04:26:46 +0000 |
commit | ecd8851ade7589f2fe617c84718a700105ab473a (patch) | |
tree | 9fa57a32a4345901d69ea83a41f4a8b133a914ce /sys/dev/sio/sio.c | |
parent | a38b47dc4f52546f83a5bbb50ea0f25c853e0cd5 (diff) | |
download | FreeBSD-src-ecd8851ade7589f2fe617c84718a700105ab473a.zip FreeBSD-src-ecd8851ade7589f2fe617c84718a700105ab473a.tar.gz |
Add device ID for Xircom modem. Also add work around from gwk@sgi.com
to put the device into 8 bit mode a second time. This appears to have
no ill effects on other devices, and appears to be necessary for the
xircom modem.
Submitted by: gwk@sgi.com, many others that found his patch in the archives.
Diffstat (limited to 'sys/dev/sio/sio.c')
-rw-r--r-- | sys/dev/sio/sio.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 2746d1d..33d02fb 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -671,6 +671,13 @@ sioprobe(dev, xrid, rclk, noprobe) */ /* EXTRA DELAY? */ sio_setreg(com, com_mcr, mcr_image); + + /* + * It seems my Xircom CBEM56G Cardbus modem wants to be reset + * to 8 bits *again*, or else probe test 0 will fail. + * gwk@sgi.com, 4/19/2001 + */ + sio_setreg(com, com_cfcr, CFCR_8BITS); /* * Some pcmcia cards have the "TXRDY bug", so we check everyone @@ -685,10 +692,10 @@ sioprobe(dev, xrid, rclk, noprobe) /* Check IIR_TXRDY clear ? */ result = 0; if (failures[6] & IIR_TXRDY) { - /* Nop, Double check with clearing IER */ + /* No, Double check with clearing IER */ sio_setreg(com, com_ier, 0); if (sio_getreg(com, com_iir) & IIR_NOPEND) { - /* Ok. we're familia this gang */ + /* Ok. We discovered TXRDY bug! */ SET_FLAG(dev, COM_C_IIR_TXRDYBUG); } else { /* Unknown, Just omit this chip.. XXX */ |