Date: Sun, 6 Jan 2013 02:35:38 -0500 From: Brett Wynkoop <wynkoop@wynn.com> To: Ian Lepore <freebsd@damnhippie.dyndns.org> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: BeagleBone System Hang Message-ID: <20130106023538.2035b8c4@ivory.wynn.com> In-Reply-To: <1357329320.1088.20.camel@revolution.hippie.lan> References: <20130104053011.095e9fad@ivory.wynn.com> <1357328747.1088.18.camel@revolution.hippie.lan> <1357329320.1088.20.camel@revolution.hippie.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 04 Jan 2013 12:55:20 -0700 Ian Lepore <freebsd@damnhippie.dyndns.org> wrote: > 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 Ian- When I added the second patch to the first and rebuilt the kernel I was able to send a dd of my disk over the net to my laptop! Yeah! You rock! I wish I understood this kernel magic you do! Even if it is not the best way to do things I think you should commit this to head as it is better than what is there now! -Brett -- wynkoop@wynn.com http://prd4.wynn.com/wynkoop/pgp-keys.txt 917-642-6924 718-717-5435
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130106023538.2035b8c4>