diff options
author | imp <imp@FreeBSD.org> | 2001-06-05 05:58:57 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2001-06-05 05:58:57 +0000 |
commit | b77106dd8d84c058dfdabaeedf76a4e09b52fe3d (patch) | |
tree | c1b3f898b342345690d151292042a06144832f2e | |
parent | 1c7d10ac212524770402a15a5f6d74a2059739a3 (diff) | |
download | FreeBSD-src-b77106dd8d84c058dfdabaeedf76a4e09b52fe3d.zip FreeBSD-src-b77106dd8d84c058dfdabaeedf76a4e09b52fe3d.tar.gz |
Close the line displine on detach. Lots of folks have submittd this, and
I think bde even reviewed it once.
Also, change the name of ActionTEC pat to more generic Lucent Kermit
chip. Add stub for Xircom card. Add cardbus attachment too.
-rw-r--r-- | sys/dev/sio/sio.c | 5 | ||||
-rw-r--r-- | sys/isa/sio.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 74bd268..1bbf598 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -555,6 +555,7 @@ sio_pccard_detach(dev) bus_release_resource(dev, SYS_RES_IOPORT, 0, com->ioportres); if (com->tp && (com->tp->t_state & TS_ISOPEN)) { device_printf(dev, "still open, forcing close\n"); + (*linesw[com->tp->t_line].l_close)(com->tp, 0); com->tp->t_gen++; ttyclose(com->tp); ttwakeup(com->tp); @@ -577,8 +578,9 @@ struct pci_ids { static struct pci_ids pci_ids[] = { { 0x100812b9, "3COM PCI FaxModem", 0x10 }, - { 0x048011c1, "ActionTec 56k FAX PCI Modem", 0x14 }, + { 0x048011c1, "Lucent kermit based PCI Modem", 0x14 }, { 0x0000151f, "SmartLink 5634PCV SurfRider", 0x10 }, + /* { 0xXXXXXXXX, "Xircom Cardbus modem", 0x10 }, */ { 0x00000000, NULL, 0 } }; @@ -3354,4 +3356,5 @@ DRIVER_MODULE(sio, pccard, sio_pccard_driver, sio_devclass, 0, 0); #endif #if NPCI > 0 DRIVER_MODULE(sio, pci, sio_pci_driver, sio_devclass, 0, 0); +DRIVER_MODULE(sio, cardbus, sio_pci_driver, sio_devclass, 0, 0); #endif diff --git a/sys/isa/sio.c b/sys/isa/sio.c index 74bd268..1bbf598 100644 --- a/sys/isa/sio.c +++ b/sys/isa/sio.c @@ -555,6 +555,7 @@ sio_pccard_detach(dev) bus_release_resource(dev, SYS_RES_IOPORT, 0, com->ioportres); if (com->tp && (com->tp->t_state & TS_ISOPEN)) { device_printf(dev, "still open, forcing close\n"); + (*linesw[com->tp->t_line].l_close)(com->tp, 0); com->tp->t_gen++; ttyclose(com->tp); ttwakeup(com->tp); @@ -577,8 +578,9 @@ struct pci_ids { static struct pci_ids pci_ids[] = { { 0x100812b9, "3COM PCI FaxModem", 0x10 }, - { 0x048011c1, "ActionTec 56k FAX PCI Modem", 0x14 }, + { 0x048011c1, "Lucent kermit based PCI Modem", 0x14 }, { 0x0000151f, "SmartLink 5634PCV SurfRider", 0x10 }, + /* { 0xXXXXXXXX, "Xircom Cardbus modem", 0x10 }, */ { 0x00000000, NULL, 0 } }; @@ -3354,4 +3356,5 @@ DRIVER_MODULE(sio, pccard, sio_pccard_driver, sio_devclass, 0, 0); #endif #if NPCI > 0 DRIVER_MODULE(sio, pci, sio_pci_driver, sio_devclass, 0, 0); +DRIVER_MODULE(sio, cardbus, sio_pci_driver, sio_devclass, 0, 0); #endif |