Messages in this thread | | | Subject | Re: PROBLEM: memory corrupting bug, bisected to 6dda9d55 | From | Benjamin Herrenschmidt <> | Date | Wed, 20 Oct 2010 08:02:48 +1100 |
| |
On Tue, 2010-10-19 at 22:47 +0200, Segher Boessenkool wrote: > > It looks like it is the frame counter in an USB OHCI HCCA. > 16-bit, 1kHz update, offset x'80 in a page. > > So either the kernel forgot to call quiesce on it, or the firmware > doesn't implement that, or the firmware messed up some other way.
I vote for the FW being on crack. Wouldn't be the first time with Pegasos.
It's an OHCI or an UHCI in there ?
Can you try in prom_init.c changing the prom_close_stdin() function to also close "stdout" ?
if (prom_getprop(_prom->chosen, "stdin", &val, sizeof(val)) > 0) call_prom("close", 1, 0, val); + if (prom_getprop(_prom->chosen, "stdout", &val, sizeof(val)) > 0) + call_prom("close", 1, 0, val);
See if that makes a difference ?
Last option would be to manually turn the thing off with MMIO in yet-another pegasos workaround in prom_init.c.
Cheers, Ben.
| |