summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-06-05 05:58:57 +0000
committerimp <imp@FreeBSD.org>2001-06-05 05:58:57 +0000
commitb77106dd8d84c058dfdabaeedf76a4e09b52fe3d (patch)
treec1b3f898b342345690d151292042a06144832f2e
parent1c7d10ac212524770402a15a5f6d74a2059739a3 (diff)
downloadFreeBSD-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.c5
-rw-r--r--sys/isa/sio.c5
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
OpenPOWER on IntegriCloud