[SeaBIOS] usb ohci pipe free fix

Kevin O'Connor kevin at koconnor.net
Wed Mar 7 04:25:10 CET 2012


On Tue, Mar 06, 2012 at 09:51:09PM +0100, Nils wrote:
> Op maandag 05-03-2012 om 15:41 uur [tijdzone -0500], schreef Kevin
> O'Connor:
> > Nothing in the TD.  Can you try the patch below (again, on top of the
> > free pipe fix at the beginning of this thread).  This patch will also
> > dump the ED.
> See seriallog-20120306_210506.log. (i don't see the ED dump?)

It's the lines with "ed=...".  Anyway, nothing interesting there.
What I can see is that the frame counter halts right at the point when
it gets to the new "endpoint descriptor".  This is definitely odd, as
there is an endpoint descriptor already there that it doesn't seem to
have any issue with.  No status is put anywhere to indicate why the
controller stops updating the frame counter.

You could try, dumping the value of cntl->regs->periodicstart and
cntl->regs->fminterval at the end of start_ohci() to see if there's
something odd there.

You could also try setting the Skip bit in ohci_alloc_intr_pipe
(ed->hwINFO |= ED_SKIP) to see if the issue is with the TDs or EDs.
You could also try replacing malloc_low calls with malloc_high calls
in ohci_alloc_intr_pipe to see if maybe the controller doesn't like
the memory addresses.

> > Another thing you could try is to post the log with the call to
> > set_idle() in usb-hid.c commented out.
> See seriallog-20120306_214554.log.
> 
> Thanks, Nils.

-Kevin



More information about the SeaBIOS mailing list