summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Campbell <aaron@cvs.openbsd.org>2000-09-24 23:10:49 +0000
committerAaron Campbell <aaron@cvs.openbsd.org>2000-09-24 23:10:49 +0000
commit78c650613e2a86aeeecf550cb0e1a879f926fc29 (patch)
treeb3b11de4c1b03dfcc5034d218f4f86e199068128
parentdaa5b128d46cec446353f4c4762724f8c7c5f80e (diff)
For the Toshiba TOPIC95B CardBus controller, we must clear the socket and slot
control registers at shutdown else we hang. Fixes it on my laptop, should help out espie@ on his Toshiba system too.
-rw-r--r--sys/dev/pci/pccbb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/pccbb.c b/sys/dev/pci/pccbb.c
index 0269453df6a..d9b07be18db 100644
--- a/sys/dev/pci/pccbb.c
+++ b/sys/dev/pci/pccbb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pccbb.c,v 1.6 2000/07/25 00:04:59 mickey Exp $ */
+/* $OpenBSD: pccbb.c,v 1.7 2000/09/24 23:10:48 aaron Exp $ */
/* $NetBSD: pccbb.c,v 1.42 2000/06/16 23:41:35 cgd Exp $ */
/*
@@ -370,6 +370,10 @@ pccbb_shutdown(void *arg)
PCI_COMMAND_MASTER_ENABLE);
pci_conf_write(sc->sc_pc, sc->sc_tag, PCI_COMMAND_STATUS_REG, command);
+ if (sc->sc_chipset == CB_TOPIC95B) {
+ pci_conf_write(sc->sc_pc, sc->sc_tag, TOPIC_SOCKET_CTRL, 0);
+ pci_conf_write(sc->sc_pc, sc->sc_tag, TOPIC_SLOT_CTRL, 0);
+ }
}
void