diff options
-rw-r--r-- | sys/dev/sio/sio.c | 11 | ||||
-rw-r--r-- | sys/dev/sio/sio_pci.c | 2 |
2 files changed, 10 insertions, 3 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 */ diff --git a/sys/dev/sio/sio_pci.c b/sys/dev/sio/sio_pci.c index 13715c6..6ea2930 100644 --- a/sys/dev/sio/sio_pci.c +++ b/sys/dev/sio/sio_pci.c @@ -74,7 +74,7 @@ static struct pci_ids pci_ids[] = { { 0x048011c1, "Lucent kermit based PCI Modem", 0x14 }, { 0x95211415, "Oxford Semiconductor PCI Dual Port Serial", 0x10 }, { 0x0000151f, "SmartLink 5634PCV SurfRider", 0x10 }, - /* { 0xXXXXXXXX, "Xircom Cardbus modem", 0x10 }, */ + { 0x0103115d, "Xircom Cardbus modem", 0x10 }, { 0x00000000, NULL, 0 } }; |