summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraaron <aaron@openbsd.org>2000-09-24 23:10:48 +0000
committeraaron <aaron@openbsd.org>2000-09-24 23:10:48 +0000
commitc371d6627cf2006f6d2485b5f8c14c317a63cb89 (patch)
tree88cb78befaf2b453af8b278b138abd6945fc856c
parentCorrectly ignore -n flag with -d when both options are separate (i.e. (diff)
downloadwireguard-openbsd-c371d6627cf2006f6d2485b5f8c14c317a63cb89.tar.xz
wireguard-openbsd-c371d6627cf2006f6d2485b5f8c14c317a63cb89.zip
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