From owner-freebsd-arm@FreeBSD.ORG Fri Jan 4 19:46:02 2013 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 75C34E30 for ; Fri, 4 Jan 2013 19:46:02 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from duck.symmetricom.us (duck.symmetricom.us [206.168.13.214]) by mx1.freebsd.org (Postfix) with ESMTP id 160523DC for ; Fri, 4 Jan 2013 19:45:57 +0000 (UTC) Received: from damnhippie.dyndns.org (daffy.symmetricom.us [206.168.13.218]) by duck.symmetricom.us (8.14.5/8.14.5) with ESMTP id r04JjpVp063429 for ; Fri, 4 Jan 2013 12:45:51 -0700 (MST) (envelope-from freebsd@damnhippie.dyndns.org) Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id r04JjltD090713; Fri, 4 Jan 2013 12:45:47 -0700 (MST) (envelope-from freebsd@damnhippie.dyndns.org) Subject: Re: BeagleBone System Hang From: Ian Lepore To: Brett Wynkoop In-Reply-To: <20130104053011.095e9fad@ivory.wynn.com> References: <20130104053011.095e9fad@ivory.wynn.com> Content-Type: multipart/mixed; boundary="=-BnlEyX3uWwww59Q2mNLx" Date: Fri, 04 Jan 2013 12:45:47 -0700 Message-ID: <1357328747.1088.18.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Cc: freebsd-arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2013 19:46:02 -0000 --=-BnlEyX3uWwww59Q2mNLx Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Fri, 2013-01-04 at 05:30 -0500, Brett Wynkoop wrote: > Greeting- > > Ok tonight before trying to install the world I just built I decided to > back up my 8G microsd to my laptop. > > On the Bone I ran: > > dd if=/dev/mmcsd0 | gzip -c | nc laptop 12345 > > With of course the correct receiving nc and dd on the other side. > > The result was: > > > aintc0: Spurious interrupt detected (0xffffffff) [...] > aintc0: Spurious interrupt detected (0xffffffff) > > and the loss of network connectivity as well as the inability to > terminate the process with ctl-C and the inability to background it > with ctl-Z. > > I have no idea what aintc is, but what ever it is I bet we need to do > some driver work related to it. > > -Brett After a few minutes of glancing at the complex and confusing datasheet for that interrupt controller, I'm not sure what's causing the spurious interrupt, but the code that's detecting and reporting the problem isn't clearing the status, so it just gets into a tight reporting loop. Try the attached patch to see if it makes the loop stop and the system become responsive again. This is more of a workaround than a real fix. -- Ian --=-BnlEyX3uWwww59Q2mNLx Content-Disposition: inline; filename="aintc_spurious.diff" Content-Type: text/x-patch; name="aintc_spurious.diff"; charset="us-ascii" Content-Transfer-Encoding: 7bit diff -r 28b12492cd58 sys/arm/ti/aintc.c --- a/sys/arm/ti/aintc.c Fri Dec 21 11:20:58 2012 -0700 +++ b/sys/arm/ti/aintc.c Fri Jan 04 12:42:34 2013 -0700 @@ -157,6 +157,7 @@ arm_get_next_irq(int last_irq) if ((active_irq & 0xffffff80)) { device_printf(ti_aintc_sc->sc_dev, "Spurious interrupt detected (0x%08x)\n", active_irq); + aintc_write_4(INTC_SIR_IRQ, (active_irq & 0xffffff80)); return -1; } --=-BnlEyX3uWwww59Q2mNLx--