Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci WORKAROUND: CardBus bridge avoids turning off th...



details:   https://anonhg.NetBSD.org/src/rev/d473729aba69
branches:  trunk
changeset: 500216:d473729aba69
user:      haya <haya%NetBSD.org@localhost>
date:      Fri Dec 08 10:24:14 2000 +0000

description:
WORKAROUND: CardBus bridge avoids turning off the power of channel in
shutdown hook when the bridge chip is TI113X.  Because PowerBook 2400
hangs here.

diffstat:

 sys/dev/pci/pccbb.c |  14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diffs (28 lines):

diff -r 0c306f111e81 -r d473729aba69 sys/dev/pci/pccbb.c
--- a/sys/dev/pci/pccbb.c       Fri Dec 08 09:42:44 2000 +0000
+++ b/sys/dev/pci/pccbb.c       Fri Dec 08 10:24:14 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pccbb.c,v 1.48 2000/11/28 09:11:36 haya Exp $  */
+/*     $NetBSD: pccbb.c,v 1.49 2000/12/08 10:24:14 haya Exp $  */
 
 /*
  * Copyright (c) 1998, 1999 and 2000
@@ -365,8 +365,16 @@
 
        DPRINTF(("%s: shutdown\n", sc->sc_dev.dv_xname));
 
-       /* turn off power */
-       pccbb_power((cardbus_chipset_tag_t)sc, CARDBUS_VCC_0V | CARDBUS_VPP_0V);
+       /*
+        * turn off power
+        *
+        * XXX - do not turn off power if chipset is TI 113X because
+        * only TI 1130 with PowerMac 2400 hangs in pccbb_power().
+        */
+       if (sc->sc_chipset != CB_TI113X) {
+               pccbb_power((cardbus_chipset_tag_t)sc,
+                   CARDBUS_VCC_0V | CARDBUS_VPP_0V);
+       }
 
        bus_space_write_4(sc->sc_base_memt, sc->sc_base_memh, CB_SOCKET_MASK,
            0);



Home | Main Index | Thread Index | Old Index