diff options
author | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-09-24 23:10:49 +0000 |
---|---|---|
committer | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-09-24 23:10:49 +0000 |
commit | 78c650613e2a86aeeecf550cb0e1a879f926fc29 (patch) | |
tree | b3b11de4c1b03dfcc5034d218f4f86e199068128 /sys/dev/pci/pccbb.c | |
parent | daa5b128d46cec446353f4c4762724f8c7c5f80e (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.
Diffstat (limited to 'sys/dev/pci/pccbb.c')
-rw-r--r-- | sys/dev/pci/pccbb.c | 6 |
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 |