Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Nov 2002 20:47:23 +0100
From:      Thomas Moestl <tmoestl@gmx.net>
To:        Gavin Atkinson <gavin@ury.york.ac.uk>
Cc:        sparc@freebsd.org
Subject:   Re: Reproducable panic on Ultra 5
Message-ID:  <20021111194723.GB308@crow.dom2ip.de>
In-Reply-To: <Pine.BSF.4.33.0211111859060.53225-100000@ury.york.ac.uk>
References:  <Pine.BSF.4.33.0211111859060.53225-100000@ury.york.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

--aVD9QWMuhilNxW9f
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, 2002/11/11 at 19:16:03 +0000, Gavin Atkinson wrote:
> 
> Hi,
> 
> I can reliably panic my Ultra 5 by simply pressing the front power button.
> 
> Power Failure Detected: Shutting down NOW.
> panic: blockable sleep lock (sleep mutex) process lock @ /usr/src/sys/kern/kern_shutdown.c:190
> cpuid = 0;
> Debugger("panic")
> Stopped at      Debugger+0x1c:  ta              %xcc, 1
> db> trace
> panic() at panic+0x134
> witness_lock() at witness_lock+0x90
> _mtx_lock_flags() at _mtx_lock_flags+0x100
> shutdown_nice() at shutdown_nice+0x28
> psycho_powerfail() at psycho_powerfail+0x10
> intr_fast() at intr_fast+0x4c
> [...]

Can you please test whether the attached patch fixes that?

Thanks,
	- Thomas

-- 
Thomas Moestl <tmoestl@gmx.net>	http://www.tu-bs.de/~y0015675/
              <tmm@FreeBSD.org>	http://people.FreeBSD.org/~tmm/
PGP fingerprint: 1C97 A604 2BD0 E492 51D0  9C0F 1FE6 4F1D 419C 776C

--aVD9QWMuhilNxW9f
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="pwrfail.diff"

Index: sys/sparc64/pci/psycho.c
===================================================================
RCS file: /d/ncvs/src/sys/sparc64/pci/psycho.c,v
retrieving revision 1.17
diff -u -r1.17 psycho.c
--- sys/sparc64/pci/psycho.c	7 Nov 2002 16:07:46 -0000	1.17
+++ sys/sparc64/pci/psycho.c	11 Nov 2002 19:43:09 -0000
@@ -238,6 +239,12 @@
  *
  * We really should attach handlers for each.
  */
+#ifdef DEBUGGER_ON_POWERFAIL
+#define	PSYCHO_PWRFAIL_INT_FLAGS	INTR_FAST
+#else
+#define	PSYCHO_PWRFAIL_INT_FLAGS	0
+#endif
+
 #define	OFW_PCI_TYPE		"pci"
 
 struct psycho_desc {
@@ -502,8 +509,8 @@
 		psycho_set_intr(sc, 1, dev, PSR_CE_INT_MAP, 0, psycho_ce);
 		psycho_set_intr(sc, 2, dev, PSR_PCIAERR_INT_MAP, INTR_FAST,
 		    psycho_bus_a);
-		psycho_set_intr(sc, 4, dev, PSR_POWER_INT_MAP, INTR_FAST,
-		    psycho_powerfail);
+		psycho_set_intr(sc, 4, dev, PSR_POWER_INT_MAP,
+		    PSYCHO_PWRFAIL_INT_FLAGS, psycho_powerfail);
 		/* Psycho-specific initialization. */
 		if (sc->sc_mode == PSYCHO_MODE_PSYCHO) {
 			/*

--aVD9QWMuhilNxW9f--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021111194723.GB308>