From owner-freebsd-arm@FreeBSD.ORG Fri Jan 4 19:55:24 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 54C8CFB1 for ; Fri, 4 Jan 2013 19:55:24 +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 0EE4D643 for ; Fri, 4 Jan 2013 19:55:23 +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 r04JtMRL063522 for ; Fri, 4 Jan 2013 12:55:22 -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 r04JtKWd090725; Fri, 4 Jan 2013 12:55:20 -0700 (MST) (envelope-from freebsd@damnhippie.dyndns.org) Subject: Re: BeagleBone System Hang From: Ian Lepore To: Brett Wynkoop In-Reply-To: <1357328747.1088.18.camel@revolution.hippie.lan> References: <20130104053011.095e9fad@ivory.wynn.com> <1357328747.1088.18.camel@revolution.hippie.lan> Content-Type: text/plain; charset="us-ascii" Date: Fri, 04 Jan 2013 12:55:20 -0700 Message-ID: <1357329320.1088.20.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit 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:55:24 -0000 On Fri, 2013-01-04 at 12:45 -0700, Ian Lepore wrote: > 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 > > differences between files attachment (aintc_spurious.diff) > 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; > } > Hrm, now I'm not so sure I've interpretted the datasheet correctly. If that doesn't work, try this line: aintc_write_4(INTC_SIR_IRQ, 0); And if that doesn't work, then... well... my BeagleBone will arrive in a few days and I'll try other things. :) -- Ian