On Sun, Dec 25, 2011 at 01:19:38AM +0100, Nils wrote:
Op zaterdag 24-12-2011 om 18:59 uur [tijdzone -0500], schreef Kevin O'Connor:
That's odd - does this happen every time? It looks like a timeout on a device other than the keyboard is causing a timeout. What devices do you have? (If I read the logs, SeaBIOS seems to be finding three devices.) You could try unplugging everything but the keyboard just to see if it will boot.
It hapens every time. I only had an USB keyboard and an USB mouse attached. The following log is with only the USB keyboard attached:
Looks like it is crashing in ohci_free_pipe. Looking closely, I don't think ohci_free_pipe() is following the spec exactly - it's modifying the control list even when the control list may be active.
You could see what the following outputs:
--- a/src/usb-ohci.c +++ b/src/usb-ohci.c @@ -283,8 +283,10 @@ static void signal_freelist(struct usb_ohci_s *cntl) { u32 v = readl(&cntl->regs->control); + dprintf(1, "signal_freelist control=%x\n", v); if (v & OHCI_CTRL_CLE) { writel(&cntl->regs->control, v & ~(OHCI_CTRL_CLE|OHCI_CTRL_BLE)); + dprintf(1, "signal_freelist2 control=%x\n", readl(&cntl->regs->control)); ohci_waittick(cntl); writel(&cntl->regs->ed_controlcurrent, 0); writel(&cntl->regs->ed_bulkcurrent, 0);
-Kevin